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