Qual è il jquery equivalente a: document.forms[0].elements[i].value;
?Qual è il jQuery equivalente a document.forms [0] .elementi [i] .valore ;?
Non so come viaggiare attraverso un modulo e i suoi elementi in jQuery e vorrei sapere come farlo.
Qual è il jquery equivalente a: document.forms[0].elements[i].value;
?Qual è il jQuery equivalente a document.forms [0] .elementi [i] .valore ;?
Non so come viaggiare attraverso un modulo e i suoi elementi in jQuery e vorrei sapere come farlo.
La traduzione solito è il selettore :input
:
$("form:first :input").each(function() {
alert($(this).val()); //alerts the value
});
Il :first
è perché il vostro esempio tira il primo <form>
, se c'è solo uno o tutti gli elementi di input, basta togliere lo :first
. Il :input
selector funziona per <input>
, <select>
, <textarea>
... tutti gli elementi che ti interessano in genere qui.
Tuttavia, se sapessimo esattamente qual è il tuo obiettivo, c'è probabilmente un modo molto semplice per raggiungerlo. Se puoi pubblicare più informazioni, come l'HTML e quali valori vuoi estrarre (o fare qualcos'altro con).
+1 Molto pulito. :) –
Grazie per la risposta. Ho scritto uno script di convalida del modulo di base in javascript e sto provando a trasferirlo su JQUERY. È un ciclo for che cerca tra tutti gli elementi nel modulo di verifica per assicurarsi che tutti i valori siano cambiati dal predefinito (ad esempio il nome del cognome) a qualcosa di reale. Lo snippet di codice che ho postato è associato a una variabile che salva il valore dell'ingresso corrente e lo confronta con l'elenco di valori predefiniti. thisVal = document.forms [0] .elementi [i] .valore; – Ian
Ho anche 2 moduli sulla mia pagina. La mia attuale versione funzionante ha
Non sono esattamente sicuro di quello che stai cercando di realizzare, ma si dovrebbe essere in grado di fare qualcosa del genere:
$('form:first').children(':first').val();
questo otterrà il valore del primo nodo figlio entro il primo <form>
tag nel DOM.
Questo non restituirebbe nulla ... stai selezionando un tag '
Grazie @Nick, sei corretto - Ho corretto il mio snippet. –
Questo non è ancora corretto, non è il mio downvote ... ma non penso che il tuo modo di pensare ai selettori sia corretto, questo restituirebbe il primo elemento, l'esempio è un 'elements [i]', che si traduce abbastanza da vicino: '$ ('form: first: input'). eq (i) .val();' –
$("#formid input").each(function(){
alert($(this).attr("value"))
})
Questo semplicemente prenderebbe i campi 'input', non' select' o 'textarea'. –
Beh, tradotto letteralmente, sarebbe:
$('form:first *:nth-child(i)').val()
Ma jQuery rende facile per afferrare gli elementi da altri modi, come ID o il selettore CSS. Sarebbe più semplice da mantenere se facessi qualcosa del tipo:
$('form#id input.name').val()
Questo ti darà tutti gli elementi sotto forma. Inclusi elementi non formali:
$("#[form id]").find()
Quindi è possibile utilizzare ciascuna funzione per attraversare tutti i bambini. Oppure è possibile utilizzare il selettore di ingresso per restituire solo gli elementi del modulo:
$("#[form id] :input")
Puoi pubblicare un esempio del tuo markup e quali valori vuoi estrarre? –
Leggi come selezionare le cose qui: http://api.jquery.com/category/selectors/ e su come attraversare qui: http://api.jquery.com/category/traversing/. – karim79
Ho scritto uno script di convalida del modulo di base in javascript e sto provando a trasferirlo su JQUERY. È un ciclo for che cerca tra tutti gli elementi del controllo da per assicurarsi che tutti i valori siano cambiati dal predefinito (ad esempio il cognome del nome) a qualcosa di reale. Il frammento di codice che ho postato è allegato a una variabile che salva il valore dell'ingresso corrente e lo confronta con l'elenco dei valori predefiniti. thisVal = document.forms [0] .elementi [i] .valore; – Ian