首页 > 解决方案 > 只读下拉 Codeigniter

问题描述

我需要根据用户的划分将其中一种形式设置为只读

在我看来,这是我的表格:

<select class="form-control" name="division" id="division">
        <option selected="selected" disabled="disabled" >-Choose-</option>
        <option selected="selected" value="all">All</option>
<?php
    if($query->num_rows()) {
        foreach($query->result() as $row):
?>
        <option value="<?php echo $row->id_division?>">
        <?php echo $row->name_division;?>
        </option>
<?php
        endforeach;
}
?>
</select>

有没有办法让它根据用户的 id_division 只读?因此,一旦他们单击提交或其他内容,这也会输入他们自己的 id_division

标签: phphtmlcodeigniter

解决方案


我从您的问题中猜想,选择下拉列表中有不止一个$id_division,而且不止一个<option>。其中一个 $id_division 属于当前用户。

提交表单时,只需要传递当前用户的$id_division 的值。换句话说,默认情况下,应该为属于当前用户的选项自动设置下拉值。

对于这种情况,您必须检查循环&id_division中的每个foreach是否等于id_division当前用户。并将selected属性动态添加到<option>if it equals 中。

为了那个原因,

<?php
    if($query->num_rows()) {
        foreach($query->result() as $row):
            if($id_division==[id_division of current user]){//You have to replace [id_division of current user] with variable that you keep current user id_division data.

                $selected='selected';
            }else{
                $selected='';   
            }
?>
         <option value="<?php echo $row->id_division?>" <?php echo $selected;?>>
        <?php echo $row->name_division;?>
        </option>
<?php
        endforeach;
     }

推荐阅读