微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jquery – 基于其他选项禁用选项

如果在其他选择中选择了精确选项,如何在select中禁用多个选项.我在这链接上找到了类似于我的问题的回答问题:
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();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐