繁体   English   中英

registerJS 中的数组到字符串转换 - Yii2

[英]Array to string conversion in registerJS - Yii2

在我看来,我有一个可以通过执行以下操作访问的数组:

$model->stabilimenti;

现在在同一个视图中,在 registerJS 中,我试图将这个数组保存在一个 Javascript 数组中,这样我就可以添加一些客户端检查。

<?php
$this->registerJs(<<<JS
    jQuery(document).ready(function(){

    let jsArray = [];
    jsArray = $model->stabilimenti;

JS
);

对于非数组变量,这种方法有效。

我也尝试使用这种表示法,但没有任何成功。

let jsArray = <?php echo json_encode($model->stabilimenti); ?>;

这是合法的手术吗?

如果在此处粘贴代码不是错字,您将缺少.ready(function(){函数的右大括号和括号})

您应该使用数组$model->stabilimenti yii\\helpers\\JSONjson_encode将 php 数组解析为 javascript 保留在 php 中,并将其转换为 json,然后将其分配给 javascript 变量。 并尝试在 DOM 就绪时加载代码,在注册脚本时使用\\yii\\web\\View::POS_READY

并且您应该将代码彼此分开。 请参阅下面的代码,它应该可以正常工作

<?php
$stabilimenti = \yii\helpers\Json::encode($model->stabilimenti);

$js = <<<JS
jQuery(document).ready(function(){
    let jsArray = {$stabilimenti};
});
JS;
$this->registerJs($js, \yii\web\View::POS_READY);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM