2013-04-09 85 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(); 
相关问题