jQuery – 禁用表单域

我有2个字段:1个input,1个select框。

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

例如,如果用户正在input数据,则select框被禁用。 如果用户正在从select(下拉)中select数据,则input被禁用。

任何帮助,将不胜感激。

提前欢呼。

<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> 

您还需要为您的select元素下的第一个选项添加一个值属性:

 <option value=""></option> 

jQuery文档说使用prop()来执行诸如禁用,检查等等。另外,更简洁的方法是使用它们的select器引擎。 所以要禁用div或表单父项中的所有表单元素。

 $myForm.find(':input:not(:disabled)').prop('disabled',true); 

再次启用你可以做的

 $myForm.find(':input:disabled').prop('disabled',false); 
 $('input, select').attr('disabled', 'disabled'); 

尝试这个

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

反之亦然。

这里有一个jQuery插件来做同样的事情: http : //s.technabled.com/jquery-foggle