2012-02-20 194 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> 

工作:

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 2012-02-20 18:19:55

+0

如果您有權訪問它,那麼在構建選擇列表之前修改數據服務器端可能會更容易。 – 2012-02-20 18:22:51

+0

@Alexsuslin和Brian Glaz,謝謝。 – Vital 2012-02-20 18:39:58

回答

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; 
    } 
}); 
相關問題