Jquery à changer la forme de la cible
Je veux changer la forme de la cible en fonction de l'option qui est sélectionnée.
<form id='post_form' target="targetvalue">
<select id="select" name="select">
<option value="option1">Option 1</option>
<option value="option2">Option 2</option>
</select>
</form>
<script>
$("#select").change(function() {
var targetvalue = $("#select option:selected").text();
$("#post_form").attr("target", targetvalue);
});
</script>
Quelle est la version de jquery utilisez-vous?
Et quelle est votre question? Jusqu'à présent vous avez dit la vérité, ce qui est agréable, mais pas à n'importe quoi.
J'ai ça dans ma tête: <script src="</script" >code.jquery.com/jquery-latest.js"></script> Ma question est: pourquoi n'est-il pas de travail?
est-il "travailler" mieux si vous placez le code dans un
Et quelle est votre question? Jusqu'à présent vous avez dit la vérité, ce qui est agréable, mais pas à n'importe quoi.
J'ai ça dans ma tête: <script src="</script" >code.jquery.com/jquery-latest.js"></script> Ma question est: pourquoi n'est-il pas de travail?
est-il "travailler" mieux si vous placez le code dans un
ready
gestionnaire?OriginalL'auteur Martijn van den Broeck | 2011-11-28
Vous devez vous connecter pour publier un commentaire.
Si vous souhaitez définir la
target
soitOption 1
ouOption 2
, ce que vous avez à faire est correcte. Cependant, si vous souhaitez définir la cible soitoption1
ouoption2
, vous devriez avoir:qui peut être simplifié à juste;
Si vous utilisez jQuery > 1.6, vous devriez être en utilisant
prop()
au lieu deattr()
. Pour plus de détails, voir StackOverflow: .prop() vs .attr()Vous ne devrait pas vraiment être en reliant simplement les dernière version dans un environnement de production; si une nouvelle version de jQuery est libéré avec les dernières modifications, vous êtes foutu. Lien vers une version spécifique de jQuery, et de tester à fond avant de vous mettre à niveau vers une nouvelle version;
Si vous êtes seulement la définition de la
<script>
après la<form>
élément pour être en mesure de cibler, de réaliser que vous pouvez utiliser un$(document).ready()
bloc pour définir le script n'importe où;Il fonctionne, reconnaissant!!!
OriginalL'auteur Matt
En effet, si votre page HTML est écrit comme il est précisé dans la question, alors le script sera exécuté après les DOM a été mis à jour avec la forme que vous essayez de modifier - mais si le script est une partie d'un fichier JavaScript liées à la alors vous avez besoin de l'enfermer dans le $(document).prêt (fonction)....
Merci @T. J. Crowder, pour relier la suite de l'article sur ce point -> Document prêt événement ?
Placer votre script dans le $(document).prêt() bloc - cela permettra d'assurer que le DOM est prêt avant attemptig le modifier :
script
bloc est ci-dessous leselect
zone dans le document source, leselect
boîte sera là et accessible avant même de jQueryready
événement se déclenche. Voir ce message sur le sujet à partir de Google Fermeture de la bibliothèque d'ingénieurs.merci - article intéressant qui fait beaucoup de sens ...
Merci beaucoup, je l'ai eu à travailler!
OriginalL'auteur ManseUK