Ho un modulo che ha elemento di input e l'elemento select con multi select. quindi, come posso impostare il valore per l'elemento di input e selezionare l'elemento in mootools.Come impostare il valore per l'elemento del modulo utilizzando mootools
risposta
Per discesa:
$('idOfSelect').selectedIndex = x;
Per il testo:
$('IdOfInput').value = 'Foo';
fondamentalmente - element.get("value");
restituisce il valore per tutti gli ingressi, seleziona e textareas, .set("value", value);
per impostare (tranne per multipli)
è più complicato per la selezione con più - il sopra restituisce il PRIMO solo selezionato, è necessario fare element.getSelected().get("value")
per ricevere un array di valori (.getSelected() sul proprio restituirà i puntatori per l'attuale option
elementi)
e, infine, per impostare selezioni multiple, unico modo che posso pensare atm è quello di scrivere il proprio prototipo elemento che cammina attraverso nodi figli con i valori come specificato e fa .set("selected", "selected")
fatemi sapere se avete bisogno di aiuto per iscritto quest'ultimo
la risposta è corretta su multipli, e che hanno bisogno di usare selectEl.getChildren('option').each(function(option)...
ma anche per singola seleziona, in IE (sto testando questo in IE9) se non esiste alcuna proprietà "valore" in ciascuna opzione, Mootools non funziona, ad esempio selectEl.set('value', value)
non funziona. In FF funziona e in IE funziona se si imposta la proprietà "valore" di ciascun elemento.
La mia soluzione è:
selectEl.getElements('option').each(function(option) {
option.selected = option.get('value')==value
});
noti che option.get ('valore') funziona anche in IE, dove non c'è alcuna proprietà value
, Mootools fornisce text
c'è qualche altro modo dell'opzione per fare questo. come in jQuery ('# idOfSelect'). val ([2,4]) o jQuery ('# idOfInput'). val ('Foo') – YuanChen
sull'elemento select Conosco solo una matrice di valore dell'elemento select. come posso trasformarlo in selectedIndex – YuanChen