晕,我使用Yii2,在下拉列表中调用函数时出错。
这是我的下拉列表:
<?= $form->field($model, "jenis_manifest")->dropDownList([ 'Berangkat' => 'Berangkat', 'Pulang' => 'Pulang'], ['onchange' => 'fungsiUtama();', 'class' => 'form-control', 'prompt' => '-- Manifest --']) ?>
这是我的剧本:
<?php
$script = <<<JS
function fungsiUtama()
{
alert("Hello");
}
JS;
$this->registerJs($script);
?>
我也尝试使用JsExpression基于此question,但仍无法正常工作。
答案 0 :(得分:2)
使用
$this->registerJs($script, \yii\web\View::POS_END);
最后一部分意味着 - 在页面末尾直接添加此脚本。
如果没有第二个函数参数,则调用默认参数 -
\yii\web\View::POS_READY
- 这意味着 - 添加此脚本包含在jQuery(document).ready()
方法中,该方法强制脚本等待,直到页面的DOM完全加载。在此之前,您的脚本不可用,这可能就是您遇到此错误的原因。