J'ai un petit problème avec une boîte de dialogue jQuery et la manière dont les scripts sont traités.Scripts de boîte de dialogue jQuery pour l'entrée val
Dans la boîte de dialogue html, je
<input id="test">
Si je
<script type="text/javascript>
$('#test').val("haha")
</script>
après l'entrée, il apparaît. Si je le mets avant, cela ne fonctionne pas. Maintenant, le problème est que j'essaie de changer la valeur de $ ('# test') en utilisant un déclencheur de clic, et je ne peux pas! L'alerte fonctionne et le remplacement initial de val fonctionne, ce qui signifie qu'il n'y a pas de zones d'entrée en double ou manquantes.
Le script tout comme il est maintenant, ne fonctionne pas:
<input type="button" class="testbutton" />
<input type="text" size="10" id="test" name="test" value="">
$('#test').val("currentvalue"); // This works
$('.testbutton').click(function() {
alert();
$('#test').val("haha");
});
Mise à jour La boîte de dialogue affiche la valeur correcte dans #test une fois la boîte de dialogue est fermé puis rouvert. Serait-ce quelque chose qui me manque?
Etes-vous sûr que 'val()' est ici? Afaik c'est pour '' pas ''. Essayez 'attr (" value ")' – ZeissS
@ZeissS - 'val()' fonctionne bien pour les entrées –
En effet, 'val()' est meilleur. 'attr ('value')' arrive à fonctionner pour les entrées car il traduit en JavaScript '.value' sur le noeud HTMLInputElement. Il * n'accède pas * à l'attribut HTML 'value', ce qui est complètement différent: l'attribut' value' correspond à la propriété JavaScript '.defaultValue', pas' .value'. – bobince