2009-03-24 11 views

risposta

24

nome "foo" e " foo1" sono il nome di voi campi di input, non sarà in grado di utilizzare il selettore di id di jQuery (#), ma dovrete utilizzare invece il selettore di attributo:

var foo = $("[name='foo']").val(); 
var foo1 = $("[name='foo1']").val(); 

Questa non è l'opzione migliore, in termini di prestazioni. Faresti meglio impostare l'ID dei vostri campi di input e utilizzare il selettore di ID (ad esempio $ ("# foo")) o almeno fornire un contesto al selettore di attributo:

var form = $("#myForm"); // or $("form"), or any selector matching an element containing your input fields 
var foo = $("[name='foo']", form).val(); 
var foo1 = $("[name='foo1']", form).val(); 
+0

whoops ... che è di destra. Dovrei cancellare la mia risposta, .. – Clyde

+0

Potrebbero non funzionare bene come $ ('# foo'), ma a meno che non sia un problema, non preoccuparti. Ottimizzazione prematura e tutto il resto. –

+0

@Andrew, hai perfettamente ragione, gli utenti non vedrebbero la differenza nella maggior parte dei casi. È più una buona pratica, soprattutto considerando che il nome potrebbe non essere unico. – ybo

5

È necessario utilizzare ID o classi per accelerare il processo del valore.

versione ID (supponendo l'ingresso ha id = 'foo')

var value1 = $('#foo').val(); 

versione classi (supponendo l'ingresso ha class = 'foo')

var value1 = $('.foo').val(); 
Problemi correlati