Pregunta

Tengo una tabla html dinámica generada con JavaScript.La tabla contiene diferentes controles, como el cuadro de texto, la caja desplegable que tiene atributos personalizados. ¿Cómo puedo hacer un bucle a través de todos los controles presentes dentro de esta tabla y encontrar el control cuyo atributo personalizado coincide con algún valor?

¿Fue útil?

Solución

Esto le dará todos los elementos de formulario dentro de su mesa ( selector de :input ):

var $formElements = $('#tableid').find(':input');

Puede filtrar con una selector de atributos :

//will select every form element having a data-custom attribute set to 5
var $formElements = $('#tableid').find(':input[data-custom="5"]');

Por favor, consulte el jsfiddle demo .Para mis ejemplos utilicé atributos de datos html5 , pero el código funcionará conCualquier atributo que necesite.

O puede usar el filter() Method para escribir una función que filtra sus elementos:

var $formElements = $('#tableid').find(':input').filter(function () {
    return $(this).attr('data-custom') == '5';
});

DMO de JSFiddle con filtro ()

Otros consejos

Demo: http://jsfiddle.net/dsqzr/1/

function getControl(_value){
    $("#panel :input").each(function(){
        if($(this).attr("custom") == _value){
           return  $(this);
        }
    })​
}

var selectedCrl = getControl(1);

Puede usar El atributo contiene selector .

Verifique el ejemplo, probablemente esté muy cerca de lo que necesita, que es encontrar elementos input y select con ciertos valores de atributo

Dales un código de generación de clase y:

$('.control[attribute=value]')

Revisa Selectores API Para más información sobre los selectores de atributos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top