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 に答える