1

jquery オートコンプリートと php を作成したいのですが、問題はオートコンプリートの各レコードに表示されるデータに 2 つの値があることです。

$(function() {
        var authors = [
            {
                label: "jQuery",
                desc: "the write less, do more, JavaScript library"
            },
            {
                label: "jQuery UI",
                desc: "the official user interface library for jQuery"
            },
            {
                label: "Sizzle JS",
                desc: "a pure-JavaScript CSS selector engine"
            }
        ];

    $( "#authorname" ).autocomplete({
        minLength: 0,
        source: authors,
        focus: function( event, ui ) {
            $( "#authorname" ).val( ui.item.label );
            return false;
        },
        select: function( event, ui ) {
            $( "#authorname" ).val( ui.item.label );
            return false;
        }
    })
    .data( "autocomplete" )._renderItem = function( ul, item ) {
        return $( "<li></li>" )
            .data( "item.autocomplete", item )
            .append( "<a>" + item.label + "<br>" + item.desc + "</a>" )
            .appendTo( ul );
    };
});

ソースを php ページに変更したい (作成者を "getauthors.php" に変更)

label と desc の 2 つのものを渡すために、「getauthors.php」の中に何を入れればよいかわかりません。

jsonを使用して、このようなものを1つ渡すことができました。

<?php
$json = array();
$json[]="test";
$json[]="test2";
$json[]="test3";

echo json_encode($json);
?>

このように出力します

オートコンプリート

2番目のことは常に未定義であることがわかります.phpでjson(またはその他の方法)を使用してこれに値を渡す方法です。

ありがとう。

4

1 に答える 1

1
<?php
$json = array();
$json[] = array ("label"=>"test", "desc"=>"description");
...

echo json_encode($json);
?>
于 2012-05-02T15:02:58.240 に答える