Domanda

Ho una tabella HTML dinamica generata utilizzando JavaScript.La tabella contiene comandi diffrent come una casella di testo, casella a discesa che ha attributi personalizzati.Come posso loop attraverso tutti i controlli presenti all'interno di questa tabella e trovare il controllo il cui attributo personalizzato corrisponde ad un valore?

È stato utile?

Soluzione

Questo ti darà tutti gli elementi del modulo all'interno del tuo tavolo ( :input Selector ): .

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

È possibile filtrare con un Selettore Attributo :

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

Si prega di consultare il jsfiddle demo .Per i miei esempi ho usato DATA-Attributi HTML5 , ma il codice funzionerà conQualsiasi attributo di cui hai bisogno.

o puoi usare il metodo filter() per scrivere una funzione che filtra i tuoi elementi: jsfiddle demo con filtro ()

Altri suggerimenti

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

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

var selectedCrl = getControl(1);
.

Puoi usare Attributo contiene selettore .

Controllare l'esempio è probabilmente molto vicino a ciò di cui hai bisogno che è trovare input & select Elements con determinati valori di attributo

Dare loro un .control di classe e:

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

Check Seleclors API per ulteriori informazioni sui selettori di attributo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top