Yii2下拉列表 onchange事件

7
在 Yii 1 中,我可以通过以下方法为下拉列表设置 onchange 事件:
CHtml::dropDownList('id', $select, $list, array('onchange'=>'this.form.submit()'))

之前的方法还不错,但在Yii 2中不起作用了,我该如何解决这个问题?


这可能会帮助到某些人。 - Muhammad Shahzad
1个回答

13

这段代码在改变时可以正常提交:

<?php use yii\helpers\Html; ?>
  <?= Html::beginForm() ?>
  <?= Html::dropDownList(
    'test', //name
    'b',  //select
    ['a'=>'A', 'b'=>'B'], //items
    ['onchange'=>'this.form.submit()'] //options
  )?>
  <?= Html::endForm() ?>

这个代码可以正常工作,除非你需要插入一些带引号的文本。引号会转换成特殊字符。如何确保引号不会被转换?这段插入的JS代码无法正常工作:onchange="if($("#name").val()=='john'){page.reload();}。 - lubosdz
你可以使用不同的引号或转义符,例如:onchange=>"if($('#name').val()=='john'){page.reload();}" 或者像这样使用JsExpression:https://dev59.com/questions/fn_aa4cB1Zd3GeqPxwZW#23261772 - user1852788

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接