2010-11-07 35 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> 

tôi có hai chọn cách hai sử dụng jquery chọn này haijquery chọn làm thế nào để chọn hai yếu tố

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

mã này chỉ có thể chọn một yếu tố, bất cứ ai có thể đưa ra một bàn tay, nhờ

+0

Trong trường hợp xấu nhất, bạn luôn có thể sử dụng phương thức 'add'. –

Trả lời

12

Có một số tùy chọn.

  1. Chọn tất cả các yếu tố chọn trên trang:

    $("select").change(function(){xxx}); 
    
  2. Chọn chỉ những yếu tố chọn chứa trong một hình thức có ID formD:

    $("form#formD select").change(function(){xxx}); 
    
  3. Chọn chỉ những chọn các yếu tố trong lớp d (thêm một thuộc tính HTML class HTML vào từng phần tử đã chọn):

    $("select.d").change(function(){xxx}); 
    
  4. Chọn chỉ những yếu tố lựa chọn có tên/ID bắt đầu với d:

    $("select[name^=d]").change(function(){xxx}); 
    
  5. Chọn chỉ những yếu tố chọn đặc biệt được đặt tên bởi ID (thêm một thuộc tính id HTML vào mỗi yếu tố lựa chọn):

    $("select#d1, select#d2").change(function(){xxx}); 
    
  6. Chỉ chọn các phần tử chọn được đặt tên cụ thể bằng cách sử dụng name tại tưởng nhớ (mà tôi sẽ cố gắng tránh vì nó ít có thể đọc được):

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

cảm ơn vì đã đánh cắp _everyone's_ câu trả lời –

+2

+1 để hiển thị tất cả các cách để thực hiện. Tôi muốn giới thiệu phương án 3. – RPM1984

+0

ồ chờ đã, anh ta cũng vậy. +1 đã rút. – RPM1984

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

Bạn có thể chọn d1 hoặc d2:

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

Nhưng sẽ thanh lịch hơn nếu bạn chỉ định cho chúng cùng một lớp và sau đó được chọn dựa trên điều đó:

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

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

$("select[name^=d]") - sẽ trả lại tất cả select s với tên bắt đầu từ năm d. Đây là fiddle: http://jsfiddle.net/KjURE/. Đây chính xác là những gì bạn đã yêu cầu cho

Các vấn đề liên quan