【问题标题】:Jquery - Use Input Field or Select DropDownJquery - 使用输入字段或选择下拉
【发布时间】:2016-03-24 00:45:59
【问题描述】:

我有一个表单,它有一个输入字段“aaa”和一个下拉列表“bbb”

我正在尝试如何制作它,以便用户只能使用其中一个,但不能同时使用两者。

因此,如果他们在输入字段中输入了值,则下拉菜单将被禁用,但如果他们从下拉菜单中选择条目,则输入字段将被禁用。

到目前为止,我已经得到了这个: http://liveweave.com/HaTCBy

但它似乎无法在输入字段中正常工作。我必须加倍退格来清除所有结果。

知道如何进行这项工作吗?

【问题讨论】:

    标签: jquery select input


    【解决方案1】:

    你可以试试下面的

    <input type="text" id="textId"/>
      <select id="selectId">
        <option value="0">Select...</option>
        <option value="1">Option 1</option>
        <option value="2">Option 2</option>
        <option value="3">Option 3</option>
      </select>
    
    <script>
        $(document).ready(function(){
          $('#textId').on('change',function(c){
            if($(this).val().length>0)
              $('#selectId').attr('disabled',true);
            else
              $('#selectId').attr('disabled',false);
          });
          $('#selectId').on('change',function(c){
            if($(this).val()>0)
              $('#textId').attr('disabled',true);
            else
              $('#textId').attr('disabled',false);
          });
        });
    </script>
    

    working demo

    【讨论】:

      【解决方案2】:

      问题是由于使用 keydown 而不是 keyup。

      【讨论】:

        【解决方案3】:

        如果你使用的是 jquery:

        $('#aaa').change(function () {
            $(#bbb).attr('name', 'disabled');
                $(#bbb).hide();
                     $(#aaa).show();
        });
        

        然后再次执行此操作,但颠倒 aaa 和 bbb id。

        这应该可以防止脚本引用该名称。然后,隐藏对面的 id 并显示当前的 id。以防万一它因为某种原因被隐藏了。

        【讨论】:

        • 真的会隐藏这些字段吗?如果是这样,我不想那样做。只需禁用它们。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-01-19
        • 1970-01-01
        • 2023-03-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-14
        相关资源
        最近更新 更多