需要隐藏选择选项

时间:2012-05-15 06:25:57

标签: jquery html select

编辑我认为OP意味着什么

我有三个选择框,每个选项有5个相似的选项。当我从任何一个选择框中选择一个选项时,它应该从其他两个选择框中消失。

我在这里完成了工作js fiddle link:http://jsfiddle.net/thilakar/x66EN/13/

注意:再次从任何选择框中选择一个选项。隐藏选项应显示在其他两个选择框中。

2 个答案:

答案 0 :(得分:2)

$(function() {
    var sbox = $('select.selectArea[name=fromBox]');
    $('select.selectArea').change(function() {
        var val = this.value,
            allVals = [];
        sbox.each(function() {
            allVals.push(this.value);
        });
        sbox.each(function(index, sel) {
           $('option:hidden', this).show();
           $('option', this).map(function(i, x) {
                if(this.value != '0' && $.inArray(this.value, allVals) != -1) {
                   $(this).hide();
                }
           });
        });
    });
});  

DEMO

答案 1 :(得分:0)

jsFiddle example 怎么样?它不会在您选择它们​​时删除它们,它只是禁用它们。这样,如果用户改变主意,他们可以返回并进行更改。

jQuery的:

$('.selectArea').change(function() {
    var ary = new Array();
    $('.selectArea option:selected').each(function() {
        if ($(this).val().length > 0 && $(this).val() != 0) {
            ary.push($(this).val());
        }
    });
    $('.selectArea option').each(function() {
        if ($.inArray($(this).val(), ary) > -1) {
            $(this).attr('disabled', 'disabled');
        } else {
            $(this).removeAttr('disabled');
        }
    });
});​