2011-11-29 41 views
9

tengo que en mi htmlobtener múltiples elementos de identificación en la lista con 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"> 

y una lista de Identificación del 1234 2345 3456 o #1234 #2345 #3456
quiero conseguir todo el elemento de la lista cuyo ID está en el lista de Identificación del

trato $(":checkbox").attr('id', items_id); y var items_cb = $(":checkbox[id='items_id']"); donde items_id es la lista de tema, pero no funciona

+1

ID de CSS no pueden comenzar con un número, usted debe hacerlo a comenzar con una letra – Clive

Respuesta

12

Sólo trata de poner todos los ID en el selector separados por comas:

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

Código: http://jsfiddle.net/3df6W/

P. S. Las identificaciones no deberían comenzar con dígitos.

+0

Gracias, funciona – 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

probar este

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

Usted puede utilizar el método jQueryeach que hará un bucle a través de todos los elementos seleccionados.

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

sólo se puede construir una cadena de selección como:

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

continuación, puede utilizar la selectorString como:

$(selectorString) 

para seleccionarlos.

+0

creo 'id' debería ser' I '. –

+0

nah, el debería ser 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); 
Cuestiones relacionadas