[英]How to get value from php inside a javascript?
在以下腳本中,使用默認值。 我想使用數據庫中的值,例如<?php $user->location ?>
即,我想在var states
內使用用戶位置數據。
我該怎么做?
<script>
$(document).ready(function() {
var states = ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California'
];
</script>
像這樣
<script>
var test = "<?php json_encode($variable); ?>";
</script>
在Yii中,您可以在視圖文件中使用registerJS :
<?php
$js = "var states = ['" .
implode("','", ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California']) .
"'];";
$this->registerJs($js, View::POS_BEGIN)
// Now states is globally available in JS
?>
<div> ... your view html ... </div>
您還可以在控制器動作中添加此JS代碼,而不是將其放入視圖文件中:
public function actionIndex() {
$js = "var states = ['" .
implode("','", ['Alabama', 'Alaska', 'Arizona', 'Arkansas', 'California']) .
"'];";
$this->view->registerJs($js, View::POS_BEGIN);
return $this->render('index', []);
}
當然,您可以將陣列替換為所需的任何陣列。 您可以使用例如:
$states = States::find()->column();
嘗試這個:
<script type="text/javascript">
$(document).ready(function() {
var states = <?php echo json_encode($user->location); ?>;
});
</script>
<?php
$ar = array('one', 'two', 1, false, null, true, 2 + 5);
?>
<script type="text/javascript">
var ar = <?php echo json_encode($ar) ?>;
// ["one","two",1,false,null,true,7];
// access 4th element in array
alert( ar[3] ); // false
</script>
謝謝!!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.