从php到jquery-ui自动完成的数组

时间:2012-09-18 13:46:36

标签: php jquery jquery-ui-autocomplete

PHP:

json_encode($data)

输出

  

[{ “SID”: “0032”, “名称”: “德国”}]

我想在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

3 个答案:

答案 0 :(得分:2)

重制阵列:

$toJSON = array();
foreach($data as $num => $val){
    $toJSON[$num]['value'] = $val['sid'];
    $toJSON[$num]['label'] = $val['name'];
}
echo json_encode($toJSON);

答案 1 :(得分: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                                                            
});

答案 2 :(得分:0)

怎么样:

var projects = eval(data);

在你的javascript代码中。