从具有相同列表的多个选择标签的选择选项列表中选择的隐藏/删除

时间:2012-07-23 19:35:16

标签: jquery

假设我有4个选择标签使用相同的选项。我想从选项中删除所选的选项。目前我尝试了这段代码:

    function connect(val)
{
    $(".option").show();
    $(".selectbox").each(function(i) { 
        var obj = $("option[value='" + $(this).val() + "']");
        alert(obj);
        if($(this).val() != "") obj.remove();

    });
}

我对选择标签有这个:

for()
{
<select id = "sc" name = "connect_array[]" class="input-select" onchange = "connect(this.value)">
for()
{
<option></option>
}
</select>
}

但实际发生的是它只删除了第一个选择的选项,而第一个选择最终没有选择,当所有选择由其他选择标签选择时,您仍然可以看到其他选择中的完整选项标签

谢谢。

2 个答案:

答案 0 :(得分:1)

试试这个,你所有的选择都需要有class =“selectbox”

$(".selectbox").change(function(){
    var selectedIndex = $(this).index();
    var myVal = $(this).val();
    $(".selectbox").each(function(i){
        if (selectedIndex != i){
            $("option", this).each(function(){
                if (myVal == $(this).val()) $(this).remove();
            });
        }
    });
});

答案 1 :(得分:0)

$('.selectbox').change(function(){
        var selected_val = $(this+"option:selected").val();
        $(".selectbox").each(function(i) { 
            $(this+'option[value="'+selected_val+'"]').remove();
        });
    }