1

html:

<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('');

但没有成功。

请帮忙谢谢

4

4 回答 4

3

要缩小选择列表,您还可以减少选项的数量:

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

使用 jQuery:

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

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

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

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

于 2013-03-08T15:11:35.223 回答
3

由于您给了第option一个唯一 ID,因此只需执行以下操作:

$('#combostart ~ option').remove();

“~”(波浪线/波浪线/旋转)CSS 选择器是什么意思?

于 2013-03-08T15:12:20.043 回答
1

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

$('#combooptions option').not('#combostart').remove();
于 2013-03-08T15:12:09.850 回答
0

试试这个:

$('#combooptions').html("<option id='combostart' value=''></option>");
于 2013-03-08T15:17:55.130 回答