2013-04-09 132 views
0

標題說明了這一切。刪除選擇列表中除第三個以外的所有選項

HTML:

<li class="mfieldtype_mnumber" id="modFilterField_29"> 
<label>From:</label> 
<span class="filterinput"> 
<select size="1" class="inputbox text_area" name="cf29_2"> 
<option value=""></option> 
<option value="1">COM_MTREE_EXACTLY</option> 
<option value="2">COM_MTREE_MORE_THAN</option> 
<option value="3">COM_MTREE_LESS_THAN</option> 
</select> 
<input type="text" placeholder="" size="30" class="inputbox text_area" name="cf29"></span></li> 

我用下面的代碼並執行試過:不是(第n個孩子),但我不能得到它的工作。

$('li#modFilterField_29 select') 
    .find('option') 
    .remove(); 

所以總結起來,擺脫了所有選項,除了第三個(而不是通過使用它的值)

幫助?

+0

獲得第三。全部刪除並添加第三個! – zod 2013-04-09 22:31:01

回答

0

你可以這樣做:

var options = $('#modFilterField_29 select').find("option"); 
var keepOption = options.eq(2); 
options.not(keepOption).remove(); 
  1. 這得到所有選項。
  2. 然後,隔離第二個。
  3. 然後從所有選項的列表中刪除第二個,並刪除其餘的。

工作演示:http://jsfiddle.net/jfriend00/JAxQu/

或者,如果你想少行,你可以這樣做:

var options = $('#modFilterField_29 select').find("option"); 
options.not(options.eq(2)).remove(); 
相關問題