我正在尝试编写一个自动完成功能,其中自动完成项目在PHP页面加载时一次性加载。使用从MySQL数据库获取的项目,我已经创建了一个像这样的JSON数组
<?php
$bnkArray = array();
$sql_bnk = mysql_query("SELECT BName, BCode, ID FROM bank");
while($rBnk = mysql_fetch_array($sql_bnk)){
$bnkDet = array(
'label' => $rBnk['BName'],
'value' => $rBnk['BName'],
'otherDetails' => $rBnk['BName'].'||'. $rBnk['BCode'].'||'. $rBnk['ID']
);
array_push($bnkArray, $bnkDet);
}
?>
我需要将这个数组转换成类似于JavaScript数组的格式。
<script>
var bankSource11 = [
{
value: "jquery",
label: "jQuery",
otherDetails: "the write less, do more, JavaScript library",
},
{
value: "jquery-ui",
label: "jQuery UI",
otherDetails: "the official user interface library for jQuery",
},
{
value: "sizzlejs",
label: "Sizzle JS",
otherDetails: "a pure-JavaScript CSS selector engine",
}
];
</script>
如果我在我的自动完成中像这样调用数组,它就无法正常工作。
var bankSource = [<?php echo $bnkArray; ?>];
这是什么数组类型...如何操作?
这是自动完成部分。
$(this).autocomplete({
minLength: 0,
source: bankSource,
focus: function( event, ui ) {
$(this).val( ui.item.label );
return false;
},
select: function( event, ui ) {
console.log(ui.item.value +' ____ ' + ui.item.otherDetails);
$( "#project" ).val( ui.item.label );
$( "#project-id" ).val( ui.item.value );
$( "#project-description" ).html( ui.item.otherDetails );
return false;
}
})
}