1

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"
        }
    ];

PHP出力をjavascriptでそのような配列に変換するにはどうすればよいですか?

参照: 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 に答える