Jquery - 使用输入字段或选择DropDown

时间:2015-12-17 14:02:08

标签: jquery select input

我有一个包含一个输入字段的表单' aaa'和一个下拉列表' bbb'

我试图弄清楚如何制作它,以便用户只能使用其中一种,但不能同时使用两者。

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

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

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

知道如何使这项工作吗?

3 个答案:

答案 0 :(得分:0)

如果您使用的是jquery:

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

然后再次这样做,但是反转aaa& bbb id' s。

这样可以防止脚本引用该名称。然后,隐藏相反的id&显示当前的ID。以防它出于某种原因被隐藏。

答案 1 :(得分:0)

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

答案 2 :(得分:0)

您可以尝试以下

<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