Sono un po 'confuso di ciò che è successo perché è illogico per me. Qual è il punto?
Ho un tale HTML:
<select id="id_number">
<option value="0">option 1</option>
<option value="1">option 2</option>
<option value="2">option 3</option>
</select>
<br /><br />
<textarea id="description" placeholder="whatever">test1</textarea>
e tale jquery
$("#id_number").change(function() {
$("#description").text("123"); // test function
});
Quando carico la pagina avrei dovuto selezionare il menucon 3 opzioni e textarea con testo "test1" all'interno. E l'ho fatto. Ora, quando cambio a qualsiasi opzione, textarea cambia in "123 come previsto con la funzione di test. Sfortunatamente quando scrivo qualsiasi testo in textarea dalla mia tastiera, e di nuovo scelgo l'opzione dal menu non inserisce" 123 "in textarea - lo faccio non so perché, ma non succede nulla come se la digitazione di qualcosa in textarea cambiasse in qualche modo lo stato di textarea e jquery potrebbe cambiarlo più. Hai qualche idea su come cambiare il testo di textarea ogni volta che cambio opzione nel menu di selezione?
risposte:
4 per risposta № 1text()
basta cambiare il valore dell'elemento DOM, l'area di testo in questo caso, ma non cambia il valore reale. Per fare ciò, devi usare val()
. Puoi trovare maggiori informazioni a riguardo nella pagina della documentazione di jQuery: http://api.jquery.com/text/.
0 per risposta № 2
Suppongo che sia un problema con dove hai la tua istruzione jQuery nello stesso HTML. Perché il codice funziona per me su JSFiddle ... Guarda qui http://jsfiddle.net/AKuWd/
Tuttavia, quando si passa a "nowrap (body)" non funziona ...
0 per risposta № 3
Dovresti provare questo per selezionare qualsiasi opzione:
$ ("# id_number"). live ("change", function () {
var id_number_value=$("#id_number").val();
$("#description").val("");
var description_value=$("#description").val();
if(id_number_value=="" || id_number_value=="null")
$("#description").val(id_number_value+""+description_value);
else
$("#description").val(id_number_value+" ");
});