次のコードはIEで問題を起こしています。 IEはセキュリティ上のリスクがあり、コードが機能しないようにしています。IEでオートコンプリートAJAXリクエストが許可されていません
$("#searchbox").autocomplete({
source: function(request, response) {
$.ajax({
url: 'http://query.yahooapis.com/v1/public/streaming/yql',
dataType: 'JSONP',
data: {
format: 'json',
q: 'select * from xml where url="http://google.com/complete/search?hl=nl&output=toolbar&q=' + encodeURIComponent(request.term) + '"'
},
success: function(data) {
if (typeof data == 'string') data = $.parseJSON(data);
response(
$.map(data.query.results.toplevel.CompleteSuggestion, function(item) {
return { label: item.suggestion.data, value: item.suggestion.data };
})
);
}
});
},
select: function(e, ui){
},
open: function(){
doSearch($('.ui-autocomplete li:first-child a').text(), true, false);
$(".ui-autocomplete :first-child a").addClass("ui-state-hover");
$("#searchbox").focus();
return false;
},
select: function(e, ui){
$("#searchbox").autocomplete('search', ui.item.value);
},
close: function (event, ui) {
val = $("#searchbox").val();
$("#searchbox").autocomplete("search", val);
}
});
私はいくつかの調査を行っている、それは、この行は私に問題を与えていることが判明:url: 'http://query.yahooapis.com/v1/public/streaming/yql',
は、だから、私は置き換えることができますまたはそれを動作させるために変更するためにどのようなものと思っていました。ここにライブバージョンがあります:JsBin
まず、あなたが持っているコードで2つの選択機能。それが何かをぶち壊すことは確かではない。 2番目の試みは、URLをhttpsに変更しようとしますか? – Henesnarfel
あなたのJsBinリンク上のコンソールで「Uncaught ReferenceError:doSearchが定義されていません」というエラーが表示されます。 – ShankarSangoli
オートコンプリートjqueryイベントは気にしないでください。重要ではないし、問題を引き起こしていません。問題はajaxリクエストです。 – Youss