dongxiangxie8181 2015-02-23 16:25
浏览 7
已采纳

不确定为什么下拉框没有填充数据或选择

I am having an issue with drop box in codeigniter. I am not sure why the data is not populating on all my drop boxes, this is an example of one of my drop boxes.

<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>
  • 写回答

1条回答 默认 最新

  • dongshi6528 2015-02-23 17:07
    关注

    I'm not very experienced with CodeIgniter but the code you have provided looks very similar to PHP procedural programming methods

    I'm not sure why you have the following code in there. Not sure if it is needed to be honest?

    $Scheduled_Area=$e->Scheduled_Area; 
    

    I think where your issue lies is your named array. It currently is $db, I would change it from $db as $db is often already defined within MVC software packages for database purposes and it could be causing a conflict. Try renaming it to see if that helps at all.

    Also, nowhere within your code is $department defined so, that may be another issue why things aren't working.

    I hope you don't mind but I have tidied your code a little for you, its good practice to concatenate php variables and strings. I have also greatly reduced the amount of php tags you were using for readibility purposes :)

    <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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?