2016-09-23 17 views
0

私はjQueryのオートコンプリートを使用しようと、私はこのエラーを取得:jQueryのオートコンプリートのJSONパースエラー

Uncaught SyntaxError: Unexpected token < in JSON at position 2 

私のコードは次のようである、HTML:

<div id="fastSearchBox" class="fastSearchBox"> 
      <span style="direction: rtl; float: right;">search</span> 
      <input id="fastSearchInput" type="text" style="width: 150px; margin-right: 10px;"></input> 
     </div> 

のjavascript:

users = [{"data":1,"value":"foo"}]; 

        $("#fastSearchInput").autocomplete({ 
        source: users, 
        select: function (event, ui) 
        { 

        }}); 

理由はわかりませんが、sourceからlookupに変更すると、

+0

この問題は私にはよく知られていますが、あなたはどこかのコード内でいくつかのPHPを使用していないのですか? – mondersky

+0

はい、私はおそらくソースが良くないと思う – dasdasd

+0

"ルックアップ"に変更して、あなたのjsonチェックで、それらが空の値でないことを確認してください – dasdasd

答えて

1

An array of objects with label and value properties: [ { label: "Choice1", value: "value1" }, ... ]

オートコンプリートでは、上記の形式の配列が必要です。配列を次のように変更してください:

<body> 
    <div id="fastSearchBox" class="fastSearchBox"> 
    <span style="direction: rtl; float: right;">search</span> 
    <input id="fastSearchInput" type="text" style="width: 150px; margin-right: 10px;"> 
    </div> 
</body> 

var users = [ 
    {data: 1, value: "foo" }, 
    {data: 2, value: "foo2" }, 
    {data: 3, value: "foo3" } 
]; 

$("#fastSearchInput").autocomplete({ 
    source: users 
}); 

$("#fastSearchInput").on("autocompleteselect", function(event, ui) { 
    alert(ui.item.data); 
}); 
+0

私はそれを試して、同じエラーを受け取りました – dasdasd

+0

ここに作業コードとのjsfiddleリンクです。 https://jsfiddle.net/9roepp5z/1/ あなたは持っていた構造を使うことができますが、ドロップダウンでは表示用のデータ列と、選択時にテキストボックスに配置する値列を使用します。あなたは不要な終了INPUTタグを持っていました。 – KeyOfJ

+0

私の問題は私が使ったいくつかのライブラリでした... – dasdasd

関連する問題