jQuery技术: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) } }); });");?> 

    只需通过这些代码,您就可以了解其工作情况

    需要了解更多jQuery教程分享Yii2 Ajax。从dropdown视图中发送到控制器,并在接收数据时执行一些操作,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)

      $(document).ready(function () { $(document.body).on('change', 'yourid', function () { var val = $('yourid': selected').val(); if(val == 'I' ) { something } else if(val == 'B' ){ something } }); }); 

      以上就是jQuery教程分享Yii2 Ajax。从dropdown视图中发送到控制器,并在接收数据时执行一些操作相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注(计算机技术网)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请点击右边联系管理员删除。

      如若转载,请注明出处:https://www.ctvol.com/jquerytutorial/981342.html

      (0)
      上一篇 2021年12月12日
      下一篇 2021年12月12日

      精彩推荐