【问题标题】:Not sure why drop down box is not populating the data or selection不知道为什么下拉框没有填充数据或选择
【发布时间】:2015-02-23 16:25:55
【问题描述】:

我在 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>

【问题讨论】:

    标签: php html mysql codeigniter


    【解决方案1】:

    我对 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>
    

    【讨论】:

    • 我知道发生了什么事我把名字从数组中遗漏了
    • 你的方法效果更好,唯一的问题是我如何让选择成为当前值?
    • 您需要确保 $department 的值(可能是数据库值)与数组中的选项之一匹配。
    • 是的,这是我将其更改为 Scheduled_Area 的问题
    • 您是否有一个 php 脚本示例来对网格视图上的所有记录进行大规模更新?如果不担心,我正在尝试弄清楚如何做到这一点
    猜你喜欢
    • 1970-01-01
    • 2016-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多