5

選択したオプションがまだ存在しない場合にのみ、選択リストに追加したい。現在、私はこれを持っています:

$('#columnsAvailable').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");

「$(this).val()」が既に存在するかどうかを確認するステートメントを挿入するのを手伝ってもらえますか?重複した値を挿入したくありませんか? ありがとう!

4

2 に答える 2

14

何かのようなもの

var optionExists = ($('#columnsAvailable option[value=' + $(this).val() + ']').length > 0);

if(!optionExists)
{
    $('#columnsAvailable').append("<option value='"+$(this).val()+"'>"+$(this).text()+"</option>");
}

トリックを行う必要があります。

于 2013-03-08T16:00:42.047 に答える
2

このようなものを試すことができます

//get all the elements in an array
var values = $('#columnsAvailable').children('option').map(function(i, e){
    return e.value || e.innerText;
}).get();

//check if new element exists in the array    
if( $.inArray($(this).val(), values) > -1 ) {
    $('#columnsAvailable').append(
        "<option value='" + $(this).val() + "'>" + $(this).text() + "</option>"
    );
}
于 2013-03-08T16:13:13.270 に答える