JqueryUI自动完成PHP JSON

时间:2015-04-03 13:50:53

标签: php jquery json jquery-ui

我实际上正在为我的表单中的名字开发自动填充功能。

这是我的Jquery代码:

$page->appendJs(<<<JS
$(document).ready(function()
{
          $.ajax({
               url: 'jsonClients.php',
               type: 'POST',
               dataType: 'json',
               data: 'client' : $("#client").val(),
               success: function(data){
                     $('#client').autocomplete(
                     {
                           source: data,
                           minLength: 1
                     });
               }
          });
});

JS );

我的输入是

<input type='text' id='client' name='client'>

我的jsonClients.php正在运行,它需要一个客户端参数。 我之前从未做过任何jquery,所以我有点失落。

编辑:

的Json

$json = array();

while($client = $requete->fetch()) {
    array_push($json, array('nom' => $client['CLI_NOM']));
}

echo json_encode($json);

感谢您的帮助

2 个答案:

答案 0 :(得分:1)

应该是数据:{&#39;客户&#39; :$(&#34;#client&#34;)。val()}而不是&#34;数据:&#39;客户端&#39; :$(&#34;#client&#34;)。val()&#34;。 看看这个example。所以下面的代码应该可以正常工作:

$(document).ready(function(){
      $.ajax({
           url: 'jsonClients.php',
           type: 'POST',
           dataType: 'json',
           data: {'client' : $("#client").val()},
           success: function(data){
                 $('#client').autocomplete(
                 {
                       source: data,
                       minLength: 1
                 });
           }
      });
});

答案 1 :(得分:0)

我建议您重新设计自己的应用:
首先声明自动完成,然后是回调操作。 Great example

$( "#city" ).autocomplete({
  source: function( request, response ) {
    $.ajax({
      url: "jsonClients.php",
      dataType: "json",
      data: {
        client: request.term
      },
      success: function( data ) {
        //do action
      }
    });
  }
});