【问题标题】:Read Only Dropdown Codeigniter只读下拉 Codeigniter
【发布时间】:2018-08-18 15:43:08
【问题描述】:

我需要根据用户的划分将其中一个表单设置为只读

这是我认为的表单:

<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

【问题讨论】:

  • 您可以添加 'readonly' => 'readonly' 或者看起来您尝试过的已经接受的内容 您可以使用只读属性。如果它不是在您的特定情况下使用的最佳元素,您可以完全避免输出下拉列表。 $element->setAttrib('disabled','disabled');
  • @Isaac 如果它不是一个选项怎么办?类似文本输入的东西?我认为应该是:&lt;input class="form-control" type="text" name="division" id="division" placeholder="division" readonly="readonly"&gt;&lt;/input&gt; 不是吗?但我想知道,这个表单如何输入用户的 id_division 的值?

标签: php html codeigniter


【解决方案1】:

我猜从您的问题中,选择下拉列表中有不止一个$id_division 和不止一个&lt;option&gt;。其中一个 $id_division 属于当前用户。

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

对于这种情况,您必须检查foreach 循环中的每个&amp;id_division 是否等于当前用户的id_division。如果相等,则将selected 属性动态添加到&lt;option&gt;

为此,

<?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;
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2013-07-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多