我有2个字段:1个输入,1个选择框。
当用户使用另一个字段时,是否可以让浏览器禁用其中一个字段?
例如,如果用户在输入中输入数据,则禁用选择框。如果用户从选择(下拉列表)中选择数据,则输入将被禁用。
非常感谢任何帮助。
提前干杯。
答案 0 :(得分: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>
您还需要在select元素下的第一个选项中添加一个value属性:
<option value=""></option>
答案 1 :(得分:45)
jQuery文档说使用prop()来执行诸如禁用,检查等操作。另外,更简洁的方法是使用他们的选择器引擎。因此,要禁用div或表单父级中的所有表单元素。
$myForm.find(':input:not(:disabled)').prop('disabled',true);
再次启用你可以做
$myForm.find(':input:disabled').prop('disabled',false);
答案 2 :(得分:12)
$('input, select').attr('disabled', 'disabled');
答案 3 :(得分:7)
试试这个
$("#inp").focus(function(){$("#sel").attr('disabled','true');});
$("#inp").blur(function(){$("#sel").removeAttr('disabled');});
反之亦然。
答案 4 :(得分:0)
这是一个jquery插件,可以执行相同的操作:http://s.technabled.com/jquery-foggle