2012-02-20 41 views
4

私の問題は重複したオプション値を削除することです。 最初から、オプションの値は不明です。都市を選択すると、Ajaxリクエストを処理して、その都市からすべての利用可能な広告を取得しています。この "都市の配列"から、自動的にストリートのドロップダウンリストが作成されます。しかしもちろん、重複したオプション値があります。では、どうすれば削除できますか?htmlフォームのドロップダウンリストから重複した値を削除する

<select name="det_pas_object_gatve" class="det_pas_object_select_css"> 
<option selected="selected" value="">--- Choose street ---</option> 
<option value="Barrow">Barrow</option> 
<option value="Hornets">Hornets</option> 
<option value="Barrow">Barrow</option> 
<option value="Stanley">Stanley</option> 
<option value="Simon">Simon</option> 
<option value="Barrow">Barrow</option> 
</select> 

WORKING:

var foundedinputs = []; 
    $("select[name=det_pas_object_gatve] option").each(function() { 
     if($.inArray(this.value, foundedinputs) != -1) $(this).remove(); 
     foundedinputs.push(this.value); 
    }); 
+1

重複質問:http://stackoverflow.com/questions/3227754/delete-duplicate-entries- from-a-select-box – alexsuslin

+0

アクセス権がある場合は、選択リストを作成する前にデータ・サーバー側を変更する方が簡単でしょう。 –

+0

@AlexsuslinとBrian Glaz、ありがとう。 – Vital

答えて

6

私自身がこれです何:

var seen = {}; 
jQuery('.det_pas_object_select_css').children().each(function() { 
    var txt = jQuery(this).clone().wrap('<select>').parent().html(); 
    if (seen[txt]) { 
     jQuery(this).remove(); 
    } else { 
     seen[txt] = true; 
    } 
}); 
関連する問題