我正在尝试将来自php文件的回显包含到javascript文件中。
我的php文件中有这段代码:
<?php
...I connect and load list from database here...
for($i=0;$i<sizeOf($list_rows);$i++) {
echo '"'.$list_rows[$i]['name'].'": null,';
}
?>
以及我的JavaScript文件中的以下代码:
<script>
$('input.autocomplete').autocomplete({
data: {
HERE I WANT TO HAVE THE ECHO
},
});
</script>
当我直接打开它时,php文件给了我正确的回声,但是我的javascript文件没有。你能救我吗?
答案 0 :(得分:1)
您可以进行以下更改
<?php
...I connect and load list from database here...
$echo_text = '';
for($i=0;$i<sizeOf($list_rows);$i++) {
$echo_text .= '"'.$list_rows[$i]['name'].'": null,';
}
?>
<script>
$('input.autocomplete').autocomplete({
data: {
'<?php echo $echo_text;?>'
},
});
</script>
答案 1 :(得分:0)
在php代码中的concat字符串
PHP代码
<?php
$string = "";
for($i=0;$i<sizeOf($list_rows);$i++) {
$string.='"'.$list_rows[$i]['name'].'": null,';
}
?>
在javascript中只是得到像这样的php变量 -
<script>
var res = '<?php echo $string; ?>';
alert(res);
$('input.autocomplete').autocomplete({
data: {
res
},
});
</script>
答案 2 :(得分:0)
试试这个:
<强> PHP:强>
<?php
$names = [];
for($i=0;$i<sizeOf($list_rows);$i++) {
if($list_rows[$i]['name'] != ""){
array_push($names, array('label' => $list_rows[$i]['name'], 'value' => $list_rows[$i]['name']));
}
//echo '"'.$list_rows[$i]['name'].'": null,';
}
$names = json_encode($names);
?>
<强> JS:强>
<script>
$('input.autocomplete').autocomplete({
data: '<?php echo $names; ?>',
});
</script>
答案 3 :(得分:0)
是否正确,我可以将php via放入javascript文件中?
我的第一个想法是在html中加载javascript文件,这个javascript加载外部php文件:/