只读填充下拉值

时间:2017-01-17 13:39:57

标签: php html5 dropdown

如果数据库中存在数据,我尝试只读取下拉列表。但即使我只读它,用户也可以更改我的意思是下拉值。所以我把它改成了残疾人。但在此,我提交后无法收到这些值。这是我的代码

<select name="sign" <?php echo empty($row['sign']) ? '' : 'readonly' ?> class="form-control">
        <option value="<?php echo $row['sign']; ?>"><?php echo $row['sign']; ?></option>
        <?php $m1 = mysqli_query($con, "SELECT * FROM signs");
        while($m2 = mysqli_fetch_array($m1)) { ?>
        <option value="<?php echo $m2['sign']; ?>"><?php echo $m2['sign']; ?></option>
        <?php } ?>
        </select>

我该如何解决?

2 个答案:

答案 0 :(得分:0)

我认为问题是<?php echo empty($row['sign']) ? '' : 'readonly' ?> 也许你可以这样做<?php echo (empty($row['sign']) ? '' : 'readonly'); ?>

答案 1 :(得分:0)

一种解决方案是当您禁用它时,添加另一个具有相同名称和值的隐藏输入。

其他解决方案是阻止用户更改选择,有很多javascript选项,试试这个:

http://jsfiddle.net/qk2Pc/

HTML:

<select id="my_select">
    <option>Option 1</option>
    <option>Option 2</option>
</select>

JS:

my_condition = true;
var lastSel = $("#my_select option:selected");

$("#my_select").change(function(){
  if(my_condition)
  {
    lastSel.attr("selected", true);
  }
});

$("#my_select").click(function(){
    lastSel = $("#my_select option:selected");
});