在我看来,我有一个可以通过执行以下操作来访问的数组:
$model->stabilimenti;
现在在同一个 View 中,在 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\JSON
或 json_encode
将 php 数组解析为留在 php 中的 javascript > 并将其转换为 json,然后将其分配给 javascript 变量。并尝试在注册脚本时使用 \yii\web\View::POS_READY
在 DOM 就绪时加载代码。
并且您应该将代码彼此分开。请参阅下面的代码,它应该可以正常工作
<?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);
关于javascript - registerJS 中的数组到字符串转换 - Yii2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60605021/