0

假设我有 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>
}

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

谢谢你。

4

2 回答 2

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();
            });
        }
    });
});
于 2012-07-23T19:44:58.193 回答
0
$('.selectbox').change(function(){
        var selected_val = $(this+"option:selected").val();
        $(".selectbox").each(function(i) { 
            $(this+'option[value="'+selected_val+'"]').remove();
        });
    }
于 2012-07-23T19:49:19.673 回答