7

how can i delete the value of each select option element except the second option value :

<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>

i have tried some thing like this but i don't know how to end it :

$("select[name='_users_id_requester']").each(function(){
  if ( $(this).index() > ..... )
    $(this).attr("value", " ");
});
user2077308
  • 451
  • 1
  • 4
  • 9
  • http://stackoverflow.com/questions/590163/how-to-get-all-options-of-a-select-using-jquery – Felipe Garcia Feb 25 '13 at 22:48
  • Try this one http://stackoverflow.com/questions/47824/how-do-you-remove-all-the-options-of-a-select-box-and-then-add-one-option-and-se Here you'll see how to clear the select options list and add the element you want. – Felipe Garcia Feb 25 '13 at 22:51

3 Answers3

3

You can go like

$("select[name='_users_id_requester'] option").not(":eq(1)").val('');
jAndy
  • 231,737
  • 57
  • 305
  • 359
3
$("select[name='_users_id_requester'] option").not(":eq(1)").prop('value', '');
Ram
  • 143,282
  • 16
  • 168
  • 197
2

You can use some selectors to select precisely do what you want as the :nth-child and the :not one.

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

The :nth-child selects a precise child and the :not do a sort array subtraction. It subtracts all the ones match by the not the with the whole array.

Here is a working JsFiddle. Just look at the HTML using Chrome or Firebug

Hugo Dozois
  • 8,147
  • 12
  • 54
  • 58