2010-11-07 2 views
8
<select name="d1"> 
    <option value="dd">111</option> 
    <option value="dd">111111</option> 
</select> 
<select name="d2"> 
<option value="dd">2222</option> 
    <option value="dd">222222222222</option> 
</select> 

У меня есть два выбора, как два использования JQuery выбрать этот дваселектор JQuery, как селектор два элемента

$("select[name='d1']").change(function(){xxx}); 

этот код только может выбрать один элемент, любой может дать руку, благодаря

+0

В худшем случае вы всегда можете использовать метод 'add'. – 2010-11-07 04:56:07

ответ

12

Есть несколько вариантов.

  1. Выбрать все отдельные элементы на странице:

    $("select").change(function(){xxx}); 
    
  2. Выберите только те выбрать элементы, содержащиеся в форме, имеющей идентификатор formD:

    $("form#formD select").change(function(){xxx}); 
    
  3. Выберите только те выбрать элементы в классе d (добавить атрибут HTML class к каждому элементу выбора):

    $("select.d").change(function(){xxx}); 
    
  4. Выберите только те выберите элементы, чьи имена/идентификаторы начинаются с d:

    $("select[name^=d]").change(function(){xxx}); 
    
  5. Выберите только те выберите элементы, специально названные ID (добавить атрибут id HTML для каждого выбора элемента):

    $("select#d1, select#d2").change(function(){xxx}); 
    
  6. Выберите только те элементы, выберите специально по имени, используя name attri Бьют (который я бы попытаться избежать, потому что это менее читаемым):

    $("select[name='d1'], select[name='d2']").change(function(){xxx}); 
    
+2

спасибо за кражу _everyone's_ отвечает –

+2

+1 за показ всех способов сделать это. Я бы рекомендовал вариант 3. – RPM1984

+0

о, подождите, он тоже сделал. +1 снято. – RPM1984

3

Вы можете выбрать или d1 d2:

$("select[name='d1'], select[name='d2']").change(function(){xxx}); 

Но было бы более элегантно, если вы назначили им тот же класс, а затем выбирается на основании, что:

<select name="d1" class="d">...</select> 
<select name="d2" class="d">...</select> 

$("select.d").change(function(){xxx}); 
2

$("select[name^=d]") - возвращает все select с с именем, начинающимся в d. Вот скрипка: http://jsfiddle.net/KjURE/. Это именно то, о чем вы просили