2013-04-15 61 views
0

是否有人知道如何從表格下拉菜單中刪除多個option?我想從數據庫中讀取數據,並根據其值刪除一些option s。從下拉菜單中刪除多個選項

<select name="year"> 
    <option value="1">First year/option> 
    <option value="2">Second year</option> 
    <option value="3">Third year</option> 
</select> 

當我從數據庫中讀取數據後,我想刪除一些基於數據值的值。因此,如果數據值爲3,我想從下拉列表中刪除值12 ..

+0

你需要動態生成表單中的一個'while'循環,同時從DB – Fabio

回答

1

您可以使用filter()濾除自定義條件的元素。

Live Demo

$('[name=year] option').filter(function(){ 
    return this.value != '3' 
}).remove(); 

Live Demo

$('select :not(option[value=3])').remove(); 

編輯基於註釋,過濾元件具有VALU小於給定值。

使用<操盤==然後和治療價值的數字,而不是字符串,

$('[name=year] option').filter(function(){ 
    return parseInt(this.value) < 3 
}).remove(); 
+0

獲取數據TNX這幫我,但我忘了問問題:如果數據庫的值是2,我想刪除值1.所以我想刪除較低的值,然後從數據庫中的值。 –

+0

使用<運算符代替==,然後將該值視爲數字而不是字符串。,return parseInt(this.value)<3 – Adil

+0

tnx它的工作原理:) –

0

您只需要在同一個下拉框中選擇2個部分。在部分內部,您需要動態生成選項,省略那些您不需要的選項。

if($data_from_db){ 
     <select name="year"> 
     <option value="1">First year/option> 
     <option value="2">Second year</option> 
     </select> 
    } 
    else{ 
    <select name="year"> 
     <option value="1">First year/option> 
     <option value="2">Second year</option> 
     <option value="3">Third year</option> 
    </select> 
    } 
0

您可以使用類似這樣

$("select option[value!='3']").remove(); 
相關問題