我在codeigniter中遇到drop box的问题。我不确定为什么我的所有投递箱都没有填充数据,这是我的一个投递箱的示例。
<div class="form-group">
<label class="col-sm-7 control-label">Scheduled Area</label><br>
<?php $Scheduled_Area=$e->Scheduled_Area;
$db=array('Outbound','Inbound','Claims');?>
<div class="col-md-5" >
<select name="Scheduled_Area" class="form-control">
<?php foreach($db as $d ){
if($department==$d){ ?>
<option value="<?php echo $d?>" selected="selected"><?php echo $d?></option>
<?}else{?>
<option value="<?php echo $d?>"><?php echo $d?></option>
<?php } }?>
</select>
</div>
</div>
答案 0 :(得分:0)
我对CodeIgniter不太熟悉,但您提供的代码与PHP过程编程方法非常相似
我不确定为什么你在那里有以下代码。不确定是否需要诚实?
$Scheduled_Area=$e->Scheduled_Area;
我认为你的问题在于你的命名数组。它目前是$ db,我会从$ db更改它,因为$ db通常已经在MVC软件包中定义用于数据库目的,它可能导致冲突。尝试重命名它,看看是否有帮助。
此外,在您的代码中没有任何地方定义了$ department,这可能是另一个问题,为什么事情不起作用。
我希望你不要介意,但我已经为你整理了一些代码,这是连接php变量和字符串的好方法。我还大大减少了用于可读性目的的php标签数量:)
<div class="form-group">
<label class="col-sm-7 control-label">Scheduled Area</label><br>
<?php
$Scheduled_Area = $e->Scheduled_Area;
$options = array("Outbound","Inbound","Claims");
?>
<div class="col-md-5">
<select name="Scheduled_Area" class="form-control">
<?php
// Define $department here or the 'selected' attribute will not work
foreach($options as $option){
if($department == $option){
echo "<option value='".$option."' selected='selected'>".$option."</option>";
}
else{
echo "<option value='".$option."'>".$option."</option>";
}
}
?>
</select>
</div>
</div>