我想知道我是否可以使用自己的" webservice"使用jQuery ui api(没有JSON等)的基本演示,在availabletags变量中打印我需要的内容,如下所示:
$(function() {
var availabletags = $.ajax({ url: "myservice.jsp", async: false }).responseText;
$("#search").autocomplete({
source: availabletags
});
});
myservice.jsp将自动完成源所需的内容打印到文件中,如下所示:
[
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
]
当我复制& amp;时,自动完成功能完美无缺。在"来源:"之后粘贴在可用标签的位置上面但是当我尝试通过ajax这样做时,它会给我404错误。
是否可以使这项工作?
答案 0 :(得分:2)
使用此功能;
$("#search").autocomplete({
source: "myservice.jsp"
});
或者
$("#search").autocomplete({
source: function(request, response) {
$.ajax({
url: "myservice.asp",
dataType: "jsonp",
success: function(data) {
response($.map(data, function(item) {
return {
label: item.value,
value: item.key
}
}));
}
});
}
});
});
响应的格式为key
,value
答案 1 :(得分:1)
<script>
jQuery( document ).ready(function() {
jQuery('#search').keyup(function() {
//autocomplete
jQuery('#search').autocomplete({
source: 'your url',
autoFocus: true,
change: function (event, ui) {
if (ui.item == null || ui.item == undefined) {
jQuery('#search').val('');
jQuery('#search').attr('disabled', false);
} else {
jQuery('#search').attr('disabled', false);
} }
});
});
});
</script>