繁体   English   中英

javascript变量中的php数组用于jquery自动完成

[英]php array in javascript variable for jquery autocomplete

我正在使用jQuery自动完成功能,并尝试定义自动完成选项的值。

我正在尝试从php数组创建一个javascript变量。 到目前为止,我有:

<?php
$usernames = get_records_sql("SELECT firstname,lastname FROM {$CFG->prefix}user ORDER BY lastname DESC");    
?>

<script language="javascript">
var names = ['<?php echo $usernames; ?>'];
</script>

我只需要将数组转换为这种格式

var names= ["firstname lastname", "firstname lastname", "firstname lastname"];

任何帮助将非常感激。

使用json_encode()函数将PHP数组编码为JavaScript数组。

您可以根据自己的规范修改以下代码:

$arr = array();
// depending on the value get_records_sql() returns, you may have to modify
// this loop:
foreach($usernames as $row)
{
    $arr[] = $row['firstname'] . ' ' . $row['lastname'];
}
$output = json_encode($arr);
var names = [<?php 
    $tmp = Array();
    foreach($usernames as $row) $tmp[] = '"'.$row->firstname.' '.$row->lastname.'"'; 
    echo join(',', $tmp);
?>];

这应该工作(未经测试)

foreach ($usernames as $key => $row) {
    $user[] = $row['firstname'].' '.$row['lastname'];
}

echo "<script language=\"javascript\">var names = ['" . implode(',',$user) . "'];</script>";

遍历行,将每个名称附加到数组$ user,将数组内嵌到字符串中并输出。

暂无
暂无

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

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