J'ai un formulaire dans une boucle while en PHP. Il ya action = "javascript: block_grade ($ id)", mais quand je alerte (id) ou alert (lvl) dans la fonction block_grade, je reçois les mêmes numéros de toutes les boucles?jQuery: forme à l'intérieur while loop
Ceci est dans ma boucle:
echo '<form action="javascript:block_grade('.$show['id'].')" method="post">';
echo 'Change blockgrade: ';
echo '<input type="text" name="lvl" size="1" value="'.$show['lvl'].'">';
echo '<input type="submit" value="Save">';
echo '</form>';
Ceci est ma fonction en bas:
<script>
function block_grade (id) {
var lvl = $('input[name=lvl]').val();
alert(lvl);
alert(id);
}
</script>
Comment puis-je résoudre ce problème, et est-il un moyen plus efficace que cela, peut-être?
duplication possible de [javascript: Utilisation de la contre-valeur de boucle actuelle dans une fonction() {}?] (Http://stackoverflow.com/questions/3448195/javascript-using-the-current-for- loop-counter-value-inside-a-function) –
@pst Je ne pense pas que cela concerne les fermetures. Plus comme il s'attend à ce que le jQuery sache magiquement l'élément dont il a besoin. – alex
Il passe 'id' en tant que paramètre à' block_grade() '. Aucune magie impliquée. – AndreKR