Используя JQuery "select option: first-child" только для элемента с данным идентификатором? - PullRequest
0 голосов
/ 07 марта 2011

Этот код проверяет, имеет ли выпадающий список с 'townid' опцию Central, а затем ставит Central после первой опции в all dropdownlists.

 var central = $('#townid option:contains("Central")');
   if(central){
     central.insertAfter('select option:first-child');
   }

Моя проблема заключается в следующем:

Как я могу добавить его сразу после выпадающего списка с идентификатором townid?Я имею в виду что-то вроде:

 var central = $('#townid option:contains("Central")');
   if(central){
     central.insertAfter('#townid select option:first-child');
   }

Например:

 <select id=townid>
    <option value="5000">AL</option>
    <option value="5001">NY</option>
    <option value="5002">LA</option>
    <option value="5003">NY</option>
    <option value="5204">Central</option>
    <option value="5024">FA</option>
 </select>

 <select id="someid">
    <option value="3002">Brooklyn</option>
    <option value="6001">Manhattan</option>
 </select>

После этого процесса они должны выглядеть так:

 <select id=townid>
    <option value="5000">AL</option>
    <option value="5204">Central</option>
    <option value="5001">NY</option>
    <option value="5002">LA</option>
    <option value="5003">NY</option>
    <option value="5024">FA</option>
 </select>

 <select id="someid">
    <option value="3002">Brooklyn</option>
    <option value="6001">Manhattan</option>
 </select>

Ответы [ 2 ]

2 голосов
/ 07 марта 2011

Как я могу добавить его сразу после выпадающего списка с идентификатором townid?

Хорошо, я предполагаю, что ваш HTML выглядит примерно так:

<select id="townid">
  <option>
    …
  </option>
</select>

В этом случае вы можете использовать:

 $('#townid option:contains("Central")').appendTo('#townid option');

Если внутри #townid несколько элементов option, и вы хотите выбрать только первый, просто измените селектор:

 $('#townid option:contains("Central")').appendTo('#townid option:first');

В вашем примере не используйте if (central), вместо этого используйте if (central.length).

1 голос
/ 07 марта 2011

Вы только что испортили селектор, потому что #townid - это тег выбора.

 var central = $('#townid option:contains("Central")');
   if(central.length === 1){
     central.insertAfter('#townid option:first-child');
   }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...