如果在其他选择中选择了精确选项,如何在select中禁用多个选项.我在这个链接上找到了类似于我的问题的回答问题:
http://jsfiddle.net/dZqEu/
http://jsfiddle.net/dZqEu/
接下来是jQuery代码:
$(this).siblings('select').children('option').each(function() { if ( $(this).val() === value ) { $(this).attr('disabled',true).siblings().removeAttr('disabled'); }
问题是这只适用于2个选择.我需要总共3个选项,这将禁用选择中相同值的可能性.
此代码不适用于3个选择:
http://jsfiddle.net/dZqEu/968/
Tnx提前
注意:
当select1设置为1时,select 2设置为2,我无法禁用select3中的值1和2.它仅禁用选择3中的值2 …
解决方法
试试这个: –
http://jsfiddle.net/Z2yaG/
使用焦点获取prev值并删除已禁用的值.
在您的html中,我为默认选项添加了值-1.
<option value="-1">No Match</option> var prev = -1; $("select").change(function () { if ($(this).val() > -1) { $("select").not(this).find("option[value=" + $(this).val() + "]").attr('disabled','disabled'); } $("select").not(this).find("option[value=" + prevIoUs + "]").removeAttr('disabled'); }).focus(function () { prevIoUs = $(this).val(); });