jQueryオートコンプリートを組み込もうとしています。それはFirefox 3.6でうまく動作します。しかし、Chrome 10、Firefox 9、IE 7-9、Opera、Safari 5では動作しません。基本的にすべての新しいブラウザ。 デバッグツールを使用すると、すべてのブラウザで["Router"、 "Microsoft Outlook 2007"、という形式のサーバー側の応答があります。ただし、1つのブラウザを除き、ドロップダウンは表示されません。jQueryオートコンプリート関数は新しいブラウザでは機能しません
ヘッダファイル
<script type="text/javascript" src="js/jquery-1.6.2.js"></script>
<script type="text/javascript" src="js/jquery.ui.core.js"></script>
<script type="text/javascript" src="js/jquery.ui.widget.js"></script>
<script type="text/javascript" src="js/jquery.ui.position.js"></script>
<script type="text/javascript" src="js/jquery.ui.datepicker.js"></script>
<script type="text/javascript" src="js/jquery.ui.autocomplete.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.16.custom.min.js"></script>
JavaScript関数
$(function() {
$("#datepicker").datepicker();
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$("#textbox")
// don't navigate away from the field on tab when selecting an item
.bind("keydown", function(event) {
if (event.keyCode === $.ui.keyCode.TAB &&
$(this).data("autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
source: function(request, response) {
var url=window.location.protocol+"//"+window.location.host+"/test/generateList";
$.getJSON(url, {
term: extractLast(request.term)
}, response);
},
search: function() {
// custom minLength
var term = extractLast(this.value);
if (term.length < 2) {
return false;
}
},
focus: function() {
// prevent value inserted on focus
return false;
},
select: function(event, ui) {
var terms = split(this.value);
// remove the current input
terms.pop();
// add the selected item
terms.push(ui.item.value);
// add placeholder to get the comma-and-space at the end
terms.push("");
this.value = terms.join(", ");
return false;
}
});
});
要素
jquery-ui-1.8.16.custom.min.jsに、jquery.ui.core.jsの関数の一部が含まれていることがありますが、インクルードに重複関数が含まれている可能性があります。ライブラリ参照のいくつかを取り出してみてください。 – amelvin
はすべてのファイルを再生しようとしましたが、それは役に立たなかった –
私はオートコンプリートを使用するたびにjQueryとjQuery UIのスクリプトタグしか持っていません。あなたはおそらくページへのリンクを投稿できますか?また、私は最近Chrome 10に電話しません:P –