2013-03-08 42 views
1

HTML:删除元素的特定范围的JQuery

<select id ="combooptions"> 
      <option id="combostart" value=""></option> 
</select> 

JS:

var str = ""; 
if (combonews.length > 0) 
     for (var i in combonews) { 
      str += "<option value='" + combonews[i][0] + "'>" + combonews[i][1] + "</option>"; 
     } 
    jQuery("#combooptions").append(str); 

它工作正常,但现在我想删除这些附加一个,留下最初的1个选项标签,如图所示以上。 我试过了:

jQuery("#combooptions").html(''); 
//or 
jQuery("#combooptions").append(''); 
//or 
jQuery("#combostart").append(''); 
//or 
jQuery("#combostart").html(''); 

但没有成功。

请帮助 感谢您

回答

3

要缩小选择列表,还可以降低期权数量:

document.getElementById("combooptions").length = 1; 

使用jQuery:

$("#combooptions")[0].length = 1; 

更通用的想法删除“除第一个之外的所有”:

$("#combooptions :not(:first-child)").remove(); 

示例:http://jsfiddle.net/kVRpy/

+0

感谢你,还曾 – INgeek 2013-03-08 15:23:35

1

您可以选择所有选项,然后从您的选择中删除带有id combostart的那个。 然后致电.remove()删除不需要的选项。

$('#combooptions option').not('#combostart').remove(); 
+0

谢谢。工作也 – INgeek 2013-03-08 15:22:49

0

试试这个:

$('#combooptions').html("<option id='combostart' value=''></option>");