2011-11-29 16 views
9

muszę, że w moim htmldostać wiele elementów przez ID w liście z 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"> 

oraz listę id 1234 2345 3456 lub #1234 #2345 #3456
Chcę uzyskać wszystkie elementy z listy, którego identyfikator jest w lista id

staram $(":checkbox").attr('id', items_id); i var items_cb = $(":checkbox[id='items_id']"); gdzie items_id lista rzeczy, ale to nie działa

+1

CSS identyfikatory nie może zaczynać się od cyfry, należy je zmienić, aby rozpocząć z listem – Clive

Odpowiedz

12

Wystarczy spróbować umieścić wszystkie identyfikatory w selektorze oddzielone przecinkiem:

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

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

PS: Identyfikatory nie powinny rozpoczynać się cyframi.

+0

Dziękuję, to działa – 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

Spróbuj

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

Można użyć metody jQueryeach że będzie pętli wszystkich wybranych elementów.

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

można po prostu zbudować ciąg selektora jak:

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

następnie można użyć do selectorString jak:

$(selectorString) 

, aby je wybrać.

+0

wierzę 'id' powinno być' I'. –

+0

nah, powinienem być 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);