1

次のような選択リストを作成しています。

var releases = data.suites.split(':');
$.each(releases, function(i, val){
    if (val) {
        var info = val.split('-');
        $('#testList').append('<option value="'+info[0]+'">'+info[1]+'</option>');
    }
});

各エントリの値とテキストの両方の前に、特定のテキストが付きます。jquery と正規表現を使用して、このテキストに一致するすべての項目をリストから削除することはできますか?

4

1 に答える 1

0

対象のアイテムの作成のみを防止したい場合.indexOfは、ループ内で使用します。

DOM に削除する既存の要素がある場合は、属性値の開始に基づいて DOM 選択を行うことができます。

  // Cache DOM selection!!! ;-)
var testlist = $('#testList');

    // remove existing elements where the "name" starts with "some_text"
testlist.find('option[name^="some_text"]').remove();

var releases = data.suites.split(':');
$.each(releases, function(i, val) {

       // Prevent creation when the val starts with "some_text"
    if (val && val.indexOf("some_text") !== 0) {
        var info = val.split('-');
        testlist.append('<option value="'+info[0]+'">'+info[1]+'</option>');
    }
});
于 2012-06-01T15:38:57.887 に答える