gpt4 book ai didi

javascript - yii2动态形式wbraganca调用javascript函数

转载 作者:行者123 更新时间:2023-12-03 04:48:13 27 4
gpt4 key购买 nike

我读过一些关于 yii2 动态形式和 javascript 函数的文章。 InsaneSkull给出的解决方案是完美的。但我有一个问题。例子 :我正在使用 wbraganca 的动态形式并尝试调用函数 onchange event (javascript)。我的代码是这样的

    <?= $form->field($detail, "[{$i}]qty")->widget(\yii\widgets\MaskedInput::className(),
[
'clientOptions' => [
'alias' => 'numeric',
'groupSeparator' => ',',
'digits' => 0,
'autoGroup' => true,
'removeMaskOnSubmit' => true,
'rightAlign' => false,
],
'options' => [
'class' => 'form-control',
'onchange' => 'Info($(this))',
]
]) ?>

首先,我尝试注册 Info 函数,如下所示

<?php
$script = <<< JS

function Info(item){
var index = item.attr("id").replace(/[^0-9.]/g, "");
alert(index);
};

JS;
$this->registerJs($script);
?>

它给出了错误,因为 Info 函数尚未定义。

其次,我在 AppAsset 中注册并且它起作用了。

我的问题:有什么区别? *(我认为这是范围)。如何在AppAsset中定义register旁边的函数?

最佳答案

你在哪里注册上面的脚本?如果在使用widget后的 View 中,JS默认注册的位置是POS_READY public void registerJs ( $js, $position = self::POS_READY, $key = null ) 尝试使用位置POS_BEGIN或POS_HEAD如果你想在使用小部件之后放置脚本。否则,您可以重写小部件类并将此脚本放入小部件的 init 方法中,该方法在渲染小部件的 run 方法之前执行。

关于javascript - yii2动态形式wbraganca调用javascript函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42776761/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com