【发布时间】:2010-11-26 02:50:47
【问题描述】:
我有 2 个字段:1 个输入,1 个选择框。
当用户使用另一个字段时,是否可以让浏览器禁用其中一个字段?
例如,如果用户在输入中输入数据,则选择框被禁用。如果用户从选择(下拉)中选择数据,则输入被禁用。
对此的任何帮助将不胜感激。
提前干杯。
【问题讨论】:
我有 2 个字段:1 个输入,1 个选择框。
当用户使用另一个字段时,是否可以让浏览器禁用其中一个字段?
例如,如果用户在输入中输入数据,则选择框被禁用。如果用户从选择(下拉)中选择数据,则输入被禁用。
对此的任何帮助将不胜感激。
提前干杯。
【问题讨论】:
<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>
【讨论】:
jQuery 文档说将 prop() 用于禁用、检查等。此外,更简洁的方法是使用他们的选择器引擎。因此要禁用 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');});
select 反之亦然。
【讨论】:
这里有一个 jquery 插件可以做同样的事情:http://s.technabled.com/jquery-foggle
【讨论】: