2016-08-09 5 views
1

オートコンプリートフィールドにjQuery UIを使用していますが、JSONエンコーディングを使用するためにPHPファイルを変更して以来、オートコンプリートは初めて(ページロード時にのみ)動作します。私はこの最初の時間の後にコンソールで取得エラーは、次のとおりです。jQuery UIオートコンプリートは一度だけ動作します

Uncaught TypeError: Cannot read property 'label' of undefined

コード:

$project.autocomplete({ 
minLength: 2, 
source: 'includes/search.php', 
open: function (result) { 
     if (navigator.userAgent.match(/(iPod|iPhone|iPad)/)) { 
      $('.ui-autocomplete').off('menufocus hover mouseover'); 
     } 
}, 
select: function(event, ui) { 
    $project.val(ui.item.label); 
    showResultsTitle(ui.item.title); 
    return false; 
}, 
focus: function(event, ui) { 
    $project.val(ui.item.label); 
    return false; 

} 

});

多くの人がこの問題を抱えていることはわかっていますが、提案された解決策はすべて私にとってはうまくいきませんでした。

+0

ソースプロパティにはいくつかの異なるメソッドを使用します。最初に、ソースレスポンスを取得するためにajaxを使用し、そのデータをグローバルに保持することによってオートコンプリートソースでその結果データを使用します。 –

+0

ありがとう!しかし確かですか?私たちがJSONに変更する前はいつもこれが働いていたからです。 – Stefan1993

+0

うまくいくかもしれませんが、あなたの場合は確かではありません:) –

答えて

1

問題は、jQueryもホーム(HTML)ページではなく、2番目のPHPファイルに含まれていたことです。これを削除した後、オートコンプリートも最初から機能しました。

関連する問題