2012-05-02 11 views
1

私はjqueryオートコンプリートとPHPを作成したいのですが、問題はオートコンプリートの各レコードに2つの値が表示されているので、これを(PHPなしで)jqueryオートコンプリートwith PHPソースとjsonの問題

$(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); 
    }; 
}); 

今私は(「getauthors.php」に変更作家)をPHPのページへのソースを変更したい

私の中に入れたのか分からない「getauthors.php」のために二つのことを渡すために、ラベルとdesc。

どのように私ができる私は、2番目のものは常に未定義であることを確認することができ、JSON、次のように出力

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

echo json_encode($json); 
?> 

autocomplete

を使用して、このように一つのことを渡すために管理json(または他の方法)を使用してphpでこれに値を渡します。

ありがとうございました。

答えて

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

echo json_encode($json); 
?> 
+0

私はその愚かなことを知っていましたが、私は常に2行目を最初の配列にしました。 –

関連する問題