Yii2 Ajax .poste de contrôleur de dropdownList de vue et de l'action lors de la réception de données
J'ai une liste Déroulante. J'ai écrit le code mais il ne fonctionne pas. Merci de m'aider à résoudre ce problème:
echo $form->field($model, 'Adrop')->dropDownList(
[
'' => 'Please Choose',
'1' => 'item 1',
'2' => 'item 2'
],
[
'onchange' => '$.post(Yii::$app->urlManager->createUrl . "users/A_action"), function(data) {
$("#test_div").html(data)
}'
]
);
Aussi je veux envoyer des données, et ne savez pas où l'écrire.
Dans le Contrôleur, j'ai cette action
public function actionA_action() {
$data = "TTT";
return $data;
}
Maintenant, quand j'ai quelque chose sélectionnez dans la liste Déroulante, il ne se passe rien dans ma test_div
🙁
Mise à JOUR
Grâce à Mihai P. maintenant, je suis en utilisant ce code
<?php
echo $form->field($model, 'Adrop')->dropDownList(
[''=>'Please Choose','1'=>'item 1','2'=>'item 2'],
[
'onchange'=>'$.post( "'.Yii::$app->urlManager->createUrl(["users/A_action"]).'",function(data){
$("#test_div").html( data )
}']);
?>
Le HTML est composée de la manière suivante
<select id="A-adrop" class="form-control" name="A[Adrop]" onchange="$.post( "/users/A_action",function(){
$("#test_div").html( data )
}">
<option value="">Please Choose</option>
<option value="1">item 1</option>
<option value="2">item 2</option>
</select>
Mais lorsque je choisis quelque chose
en debug cette chaîne est mise en évidence
<option value="2">item 2</option>
et il y a un message d'erreur indiquant que
Uncaught SyntaxError: Unexpected token }
Dernière mise à JOUR
J'ai ajouté un crochet de fermeture sur la dernière chaîne de ce code, il y en a deux de clôture maintenant, comme vous pouvez le voir, et c'était le problème. Semicolumn sera également un plus, mais j'ai testé le code fonctionne sans elle, OK. problème était dans le crochet de fermeture.
'onchange'=>'$.post( "'.Yii::$app->urlManager->createUrl(["users/A_action"]).'",function(data){
$("#test_div").html( data );
})']);
- Ne vous obtenez une erreur?
- Maintenant erreurs, mais rien ne se passe. J'ai mis à jour ma question, veuillez jeter un oeil.
Vous devez vous connecter pour publier un commentaire.
eh bien, je suis sûr que vous avez une erreur javascript. Vous devriez vraiment avoir beaucoup de trop.
Vous faites cela
Vous n'êtes pas fait appel Yii::$app->urlManager->createUrl vous êtes simplement en utilisant comme une chaîne de caractères.
Vous avez probablement besoin de quelque chose comme
Simple d'ajouter un JS bloc, il est beaucoup plus propre:
Il suffit d'aller dans ces codes, vous pouvez comprendre que le travail