1

PHP:

json_encode($data)

输出

[{"sid":"0032","name":"德国"}]

我想在 jquery-ui 自动完成中使用它。但是在 jquery-ui doc 中,源代码看起来像这样

    var projects = [
        {
            value: "jquery",
            label: "jQuery",
            desc: "the write less, do more, JavaScript library",
            icon: "jquery_32x32.png"
        }
    ];

如何在 javascript 中将 php 输出转换为这样的数组?

参考:http: //jqueryui.com/demos/autocomplete/#custom-data

4

3 回答 3

2

重新制作数组:

$toJSON = array();
foreach($data as $num => $val){
    $toJSON[$num]['value'] = $val['sid'];
    $toJSON[$num]['label'] = $val['name'];
}
echo json_encode($toJSON);
于 2012-09-18T13:54:12.650 回答
1
var availableTags = <?=json_encode($yourArray);?>;

$( "#yourInput_text" ).autocomplete({
    source: availableTags,
    focus: function (event, ui) {
        $("#yourInput_text").val(ui.item.name);
        return false;                                               },
    select: function (event, ui) {
        $("#yourInput_text").val(ui.item.name);
        $("#yourInput).val(ui.item.sid);                                                                
        return false;                                               },
minLength: 4                                                            
});
于 2012-09-18T17:15:43.833 回答
0

关于什么:

var projects = eval(data);

在您的 javascript 代码中。

于 2012-09-18T13:59:15.167 回答