jquery删除'select option'元素值,但第二个选项值除外

时间:2013-02-25 22:44:44

标签: javascript jquery

如何删除除第二个select option值之外的每个option元素的值:

<select name="_users_id_requester" onchange="submit()">
  <option value="0">-----</option>
  <option selected="" value="774">Asmaa El Habib,Yassine</option>//except this one 
  <option value="779" title="Ahlam Edouiri - U8K8O">Ahlam Edouiri</option>
  <option value="746" title="Ainane Mohamed - MohamedAinane">Ainane Mohamed</option>
</select>

我尝试过这样的事情,但我不知道如何结束它:

$("select[name='_users_id_requester']").each(function(){
  if ( $(this).index() > ..... )
    $(this).attr("value", " ");
});

3 个答案:

答案 0 :(得分:3)

你可以像

一样
$("select[name='_users_id_requester'] option").not(":eq(1)").val('');

答案 1 :(得分:3)

$("select[name='_users_id_requester'] option").not(":eq(1)").prop('value', '');

答案 2 :(得分:2)

您可以使用某些选择器精确地选择您想要的:nth-child:not

$("select[name='_users_id_requester']").find('option:not(:nth-child(2))').each(function(){
    $(this).attr("value", "");
});

:nth-child选择一个精确的子项,:not执行排序数组减法。它减去了所有的匹配,而不是整个数组。

这是一个有效的JsFiddle。只需使用Chrome或Firebug

查看HTML即可