2011-11-29 22 views
9

tôi có mà trong html của tôiđược nhiều phần tử bằng cách id trong danh sách với jquery

<input type="checkbox" id="1234"> 
<input type="checkbox" id="2345"> 
<input type="checkbox" id="3456"> 
<input type="checkbox" id="4567"> 
<input type="checkbox" id="5678"> 

Và một danh sách các id 1234 2345 3456 hoặc #1234 #2345 #3456
Tôi muốn để có được tất cả các yếu tố của danh sách có id là trong danh sách các id

tôi cố gắng $(":checkbox").attr('id', items_id);var items_cb = $(":checkbox[id='items_id']"); nơi items_id là danh sách các mục, nhưng nó không làm việc

+1

ID CSS không thể bắt đầu với một số, bạn nên thay đổi chúng để bắt đầu với một lá thư – Clive

Trả lời

12

Chỉ cần cố gắng đưa tất cả các id trong selector phân cách bằng dấu phẩy:

$('#1234, #2345, #3456')... 

Code: http://jsfiddle.net/3df6W/

T.B. ID không được bắt đầu bằng chữ số.

+0

Cảm ơn bạn, nó hoạt động – Snote

0
var result = []; 
for(var i=0; i < items_id.length; i++){ 
    var id = items_id[i]; 
    result.push($(id)) 
} 
// result is what you want 
3

Hãy thử điều này

$('#1234, #2345, #3456') 
1

Bạn có thể sử dụng phương pháp jQueryeach rằng sẽ lặp qua tất cả các yếu tố được lựa chọn.

HTML

<input name="myradio" type="checkbox" id="colour1"> 
<input name="myradio "type="checkbox" id="colour2"> 
<input name="myradio" type="checkbox" id="colour3"> 

Javascript

$('input:radio[name=myradio]').each(function (index) { 
     alert(index + ': ' + $(this).val()); //is it checked? 
     alert(index + ': ' + $(this).attr('id')); //ID string 
     //You can compare if is this ID in items_id in this loop 
}); 
1

bạn chỉ có thể xây dựng một chuỗi selector như:

var selectorString = ''; 
for id in idList: 
    selectorString = '#' + idList[id] + ','; 

sau đó bạn có thể sử dụng selectorString như:

$(selectorString) 

để chọn chúng.

+0

tôi tin 'id' nên được 'i'. –

+0

nah, tôi nên là id :) – kommradHomer

1
var arr = ['1234', '2345', '3456']; 
var elem = []; 
$('body > input').filter(function() { 
    if ($.inArray(this.id, arr) != -1) { 
     elem.push({ 
      id: this.id, 
      type: $(this).prop('type'), 
      name: this.nodeName 
     }); 
    } 
}); 
console.log(elem); 
console.log(elem.length); 
Các vấn đề liên quan