Reputation: 14691
<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>
i have two select how two use jquery select this two
$("select[name='d1']").change(function(){xxx});
this code only could select one element,any one could give a hand,thanks
Upvotes: 8
Views: 8356
Reputation: 32062
There are several options.
Select all select elements on the page:
$("select").change(function(){xxx});
Select only those select elements contained within a form having the ID formD
:
$("form#formD select").change(function(){xxx});
Select only those select elements in class d
(add a class
HTML attribute to each select element):
$("select.d").change(function(){xxx});
Select only those select elements whose names/IDs begin with d
:
$("select[name^=d]").change(function(){xxx});
Select only those select elements specifically named by ID (add an id
HTML attribute to each select element):
$("select#d1, select#d2").change(function(){xxx});
Select only those select elements specifically named using the name
attribute (which I would try to avoid because it is less readable):
$("select[name='d1'], select[name='d2']").change(function(){xxx});
Upvotes: 11
Reputation: 31524
$("select[name^=d]")
- will return all select
s with name beginning in d
. Here is the fiddle: http://jsfiddle.net/KjURE/ . This is exactly what you asked for
Upvotes: 2
Reputation: 361585
You could select d1 or d2:
$("select[name='d1'], select[name='d2']").change(function(){xxx});
But it would be more elegant if you assigned them the same class and then selected based on that:
<select name="d1" class="d">...</select>
<select name="d2" class="d">...</select>
$("select.d").change(function(){xxx});
Upvotes: 3
Reputation: 1151
$("select[name='d1'],select[name='d2']").change(function(){xxx});
Upvotes: 3