我有一个下拉列表。我已经写了代码,但它不起作用。请帮我修复它:
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)
}'
]
);
我也想发送选定的数据,但不知道该写到哪里。
在控制器中我有这个动作
public function actionA_action() {
$data = "TTT";
return $data;
}
现在,当我在下拉列表中选择某些内容时,我的列表中没有任何反应test_div
:(
UPDATE感谢 Mihai P. 现在我正在使用这个代码
<?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 )
}']);
?>
HTML 的形成方式如下
<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>
但当我选择某件事时
在调试中该字符串被突出显示
<option value="2">item 2</option>
并且有一个错误说
Uncaught SyntaxError: Unexpected token }
最终更新
我在这段代码的最后一个字符串上添加了一个右括号,其中有两个右括号现在如您所见,这就是问题所在。半列也将是一个优点,但我已经测试过代码在没有它的情况下也能正常工作。问题出在右括号中。
'onchange'=>'$.post( "'.Yii::$app->urlManager->createUrl(["users/A_action"]).'",function(data){
$("#test_div").html( data );
})']);