簡體   English   中英

jQuery selectbox刪除除兩個以外的所有選項(選擇器變量名稱)

[英]jquery selectbox remove all options except two (selector variable name)

我有以下選擇框

<select name="loc_id_1" id="loc_id_1">
<option value="PLS" selected="selected">-- PLEASE SELECT --</option>
<option value="NEW">-- ADD NEW --</option>
<option value="1">Smith Company</option>
<option value="6">Jones Company</option>
<option value="23">Wright Company</option>
</select>

loc_id_2,loc_id_3等頁面上有多個此類,它們都具有不同的信息。 我正在使用以下內容來檢測其中的任何更改。

$("[id^=loc_id_]").change(function(){
/// my magic code
var lc_id = $(this).attr('id');
my_function(lc_id,data1,data2);
});

這部分效果很好。 我遇到的問題是此代碼的一部分,我調用了一個可以刷新更改后的選擇框中的數據的函數。 所以我用jQuery刪除功能刷新選擇框

function my_function(id,d,f) {
var sel = $("#" + id);
sel.find('option[value!="NEW"] option[value!="PLS"]').remove();

// ajax code that calls database to append the other entries to the selectbox
}

問題是,這刪除了“添加新”選項,但是保留了“請選擇”,但是我從數據庫中添加的選項就很好了。

任何想法如何解決這個問題...

您的選擇會尋找descendant ,其具有的選項元素中value NEW.Try,

sel.find('option[value!="NEW"][value!="PLS"]').remove();

演示

您可以簡單地使用:gt選擇器

sel.find('option:gt(1)').remove();

工作演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM