jQuery - 禁用表单字段

use*_*025 55 forms jquery

我有2个字段:1个输入,1个选择框.

当用户使用另一个时,是否可以使浏览器禁用其中一个字段?

例如,如果用户在输入中输入数据,则禁用选择框.如果用户从选择(下拉列表)中选择数据,则禁用输入.

任何有关这方面的帮助将非常感激.

提前干杯.

Mat*_*ell 113

<script type="text/javascript" src="jquery.js"></script>          
<script type="text/javascript">
  $(document).ready(function() {
      $("#suburb").blur(function() {
          if ($(this).val() != '')
              $("#post_code").attr("disabled", "disabled");
          else
              $("#post_code").removeAttr("disabled");
      });

      $("#post_code").blur(function() {
          if ($(this).val() != '')
              $("#suburb").attr("disabled", "disabled");
          else
              $("#suburb").removeAttr("disabled");
      });
  });
</script>
Run Code Online (Sandbox Code Playgroud)

您还需要在select元素下的第一个选项中添加一个value属性:

<option value=""></option>
Run Code Online (Sandbox Code Playgroud)


Met*_*lls 45

jQuery文档说使用prop()来执行诸如禁用,检查等操作.此外,更简洁的方法是使用他们的选择器引擎.因此,要禁用div或form父级中的所有表单元素.

$myForm.find(':input:not(:disabled)').prop('disabled',true);
Run Code Online (Sandbox Code Playgroud)

再次启用你可以做到

$myForm.find(':input:disabled').prop('disabled',false);
Run Code Online (Sandbox Code Playgroud)


Rig*_*ong 12

$('input, select').attr('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)


Nrj*_*Nrj 7

试试这个

$("#inp").focus(function(){$("#sel").attr('disabled','true');});

$("#inp").blur(function(){$("#sel").removeAttr('disabled');});
Run Code Online (Sandbox Code Playgroud)

反之亦然.