如何在组合框中保留值,当使用属性(禁用)时

How keep value in combobox, when use attrib(disable)?

本文关键字:属性 禁用 组合 保留      更新时间:2023-09-26

我尝试使用按钮(添加项目(构建输入动态。 我有组合框(1-6( 用于限制项目输入。我需要在输入数据时禁用组合框以解决人为错误。

例如,用户选择max = 2(用户将被添加项目2次(,用户在产品中输入值后,下次用户单击(添加项目(,

则组合框将被禁用(当用户单击添加项目时(,下一个重复的用户输入直到限制。

这为 html Max Item(组合框(:

<tr>
    <td>
        Max Item
    </td>
    <td>
        :
    </td>
    <td>
        <select name="max" id="maxitem">
            <?php
              for($i=1; $i<=6; $i++)
              {
                  echo "<option value=".$i.">".$i."</option>";
              }
            ?>
        </select>
    </td>
</tr>
<tr>
    <td>
        PRODUCT :
    </td>
    <td>
        <input type="text" name="product" value="">
    </td>
</tr>
<tr>
    <td>
        <table>
            <tr>
                <td><input type="button" id="ADD" value="Add Item"></td>
                <td><input type="reset" id="RESET" value="Reset"></td>
            </tr>
        </table>
    </td>
</tr>

对于javascript来说:

function restFormOpts()
{
    if(isSet === isAllowed) {
        $("#ADD").attr("disabled",true);
        $("#maxitem").attr("disabled",false);
    }
    else {
        $("#ADD").attr("disabled",false);
        $("#maxitem").attr("disabled",true);
    }
}

这段代码已经运行良好,但是当组合框禁用值也会消失时。

我无法发布数据$max = $_POST['max']; // THIS NULL IF COMBOBOX DISABLE

有人知道吗???

创建一个hidden field,该将从

dropdownonchange()中选择值。

.
.
<tr>
  <td>
      Max Item
  </td>
  <td>
      :
  </td>
  <td>
    <select name="max" id="maxitem">
          <?php
        for($i=1; $i<=6; $i++) {
            echo "<option value=".$i.">".$i."</option>";
        }?>
    </select>
  </td>
    <input type='hidden' value="" id='maxValue' name='maxValue'>
</tr>
.
.
.

.JS

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script>
    $('#maxitem').change(function(){
        var maxValue= $('#maxitem').val();
        $('#maxValue').val(maxValue);
    });
    function restFormOpts()
    {
      if(isSet === isAllowed) {
          $("#ADD").attr("disabled",true);
          $("#maxitem").attr("disabled",false);
      }
      else {
          $("#ADD").attr("disabled",false);
          $("#maxitem").attr("disabled",true);
      }
    }
</script>

提交页面

<?php
echo $_POST['maxValue']; //Use this maxValue
?> 

有关更多详细信息,请单击此处 HTML 表单只读 选择标签/输入

$("#maxitem").attr()中使用" readonly "而不是" disabled "