0

私はJSONが初めてで、この本当に単純なオートコンプリートをフォーマットされた応答で機能させる方法を見つけようとしています。(私が目にするすべてのjqueryオートコンプリートは、私が遠く離れたままにしたい巨大なUIライブラリを使用しています)。

これは私がこれまでに持っているものです:

$(function() {
     // u check
     $('#search-input').keyup(function() { 
     $.ajax({ 
            dataType: 'jsonp',
            type: "POST", 
            url: "/includes/myautocomplete/tags.php", 
            data: "callback=autocomplete&q="+$('#search-input').val(), 
            jsonp: 'autocomplete',
            success: function(json){
                $('#search-resp').html(json);
            }
        });
    }); 

});

私は応答を次のようにフォーマットしようとしています:

function autocomplete(json) {
  var html ='<ul>';
  for(i=0;i<json.length;i++) {
    var n = json[i];
    html = '<li>'+n['tagname']+'</li>';
  }
  html = '</ul>';
  return html;
}

私のPHPは次のよ​​うになります:

# JSON-encode the response
$json_response = json_encode($array);

# Optionally: Wrap the response in a callback function for JSONP cross-domain support
if($_POST["callback"]) {
   $json_response = $_POST["callback"] . "(" . $json_response . ")";
}

# Return the response
echo $json_response;

私は何を間違っていますか?前もって感謝します。

4

3 に答える 3

0

シンプルなオートコンプリート テキストボックス

JSライブラリを含めるだけです<head>

<script type="text/javascript" src="http://services.iperfect.net/js/IP_generalLib.js"></script>

タグ<body>内:

<input type="text" name="testne" id="testneer" onkeypress="IP_autoComplete('http://services.iperfect.net/ajax/countries.php?name=',this.id,'testDiv',event,'')">
<div id='testDiv'></div>
于 2016-04-22T12:28:38.940 に答える
0

最初にjsonを解析する必要があると思います:

success: function(data){
  var json = $.parseJSON(data);
  //then display it...
}
于 2013-03-31T15:42:53.080 に答える