Yii2 Ajax。从dropdown视图中发送到控制器,并在接收数据时执行一些操作
我有一个DropDown列表。 我写了代码,但它没有用。 请帮我解决一下:
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; }
现在当我在DropDown列表中选择一些东西时,我的test_div
没有任何test_div
🙁
更新感谢Mihai P.现在我正在使用此代码
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以下列方式形成
Please Choose item 1 item 2
但是当我在调试中选择一些东西时,这个字符串会突出
item 2
并且有一个错误说
Uncaught SyntaxError: Unexpected token }
最后更新
我在这段代码的最后一个字符串上添加了一个结束括号,其中有两个正在关闭,你可以看到,这就是问题所在。 Semicolumn也将是一个加号,但我已经测试了代码工作没有它确定。 问题在于结束。
'onchange'=>'$.post( "'.Yii::$app->urlManager->createUrl(["users/A_action"]).'",function(data){ $("#test_div").html( data ); })']);
好吧,我相信你有一个javascript错误。 实际上你应该也有很多。
你这样做
'onchange' => '$.post(Yii::$app->urlManager->createUrl . "users/A_action"), function(data) { $("#test_div").html(data) }'
你实际上并没有调用Yii :: $ app-> urlManager-> createUrl,你只是将它用作字符串。
你可能需要类似的东西
... ['onchange' => '$.post("'.Yii::$app->urlManager->createUrl(["users/A_action"]).'", function( data ) { $("#test_div").html( data ); })']);
简单添加一个JS块,它更干净:
registerJs(" jQuery(function($){ $('select[name=Adrop]').on('change', function(){ $.post(Yii::$app->urlManager->createUrl . 'users/A_action'), function(data) { $('#test_div').html(data) } }); });");?>
只需通过这些代码,您就可以了解其工作情况
$(document).ready(function () { $(document.body).on('change', 'yourid', function () { var val = $('yourid': selected').val(); if(val == 'I' ) { something } else if(val == 'B' ){ something } }); });
- 如果用户在页面加载完成之前离开页面,则会触发jQuery ajaxError()处理程序
- 使用JQuery或Ajax加载.txt文件
- 如何在创建javascript小部件时管理浏览器“后退”和“前进”按钮
- jquery ajax只从其他页面获取一个div块
- 在以json发送数据时,jQuery Form Data中的括号问题
- 如何访问此ajax请求的返回值?
- 是否可以使用Bootstrap的modal dialog,jQuery,AJAX和PHP将图像上传到服务器? 如果有,怎么样? 如果没有什么原因呢?
- 使用jQuery中止JSONP ajax请求
- 如果我想让我的网站跨平台兼容和屏幕阅读器兼容,我应该避免使用javascript,jquery,flash,ajax,silverlight吗?