jQuery 示例代码的自动完成功能不起作用
jQuery Autocomplete from example code not working
我在任何其他具有相同问题的问题中都找不到答案。
我正在尝试使用 jQuery 自动完成功能,但它根本没有做任何事情:
$(function(){
$("#pj-filter").change(function(){
window.location.href = "?project_filter=" + $(this).val();
});
$("#user-filter").change(function(){
window.location.href = "?project_filter=false&user_filter=" + $(this).val();
});
$("#add-task").click(function(e){
Popup.loading();
request("task_form", {}, function(response){
Popup.finish();
Popup.display(response);
$("input#name").focus();
$(".date-input").datepicker({ dateFormat: 'yy-mm-dd', firstDay: 1 });
/*var projects = <?php echo json_encode($projects); ?>;
$("#project").autocomplete({
source: projects
});*/
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#project" ).autocomplete({
source: availableTags
});
$("#save-task").click(function(){
Popup.loading();
request("save_task", {
name: $("input#name").val(),
status: $("select#status").val(),
description: $("textarea#description").val(),
due_date: $("input#due_date").val(),
type: $("select#type").val(),
safeID: $("input#safeID").val(),
project: $("input#project").val()
}, function(response){
window.location.reload();
});
});
});
});
});
代码来自 jQuery 主页上的示例。
奇怪的是,如果我查看 Chrome:
中的代码
<input type="text" id="project" maxlength="64" value=""
class="ui-autocomplete-input" autocomplete="off">
输入有 class ui-autocomplete-input
,但自动完成仍然不起作用。
我使用 jQuery 3.1.1 和 jQuery-UI 1.12.1
jsfiddle 中的相同代码工作正常:
https://jsfiddle.net/yn1Lo5cm/
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#project").autocomplete({
source: availableTags
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<input type="text" id="project" maxlength="64" value="" class="ui-autocomplete-input" autocomplete="off">
您已将自动完成设置为关闭尝试 <input type="text" id="project" maxlength="64" value="" class="ui-autocomplete-input" autocomplete="on">
我们可以非常确定代码没有问题。这里有一件事,自动完成 不起作用 是什么意思?你说的下面一行很有意思:
The input has the class ui-autocomplete-input, but still the
autocomplete does not work.
要使其正常工作,我们需要 jqueryui css。
我这么说是因为 css 的 link 在 fiddle 中不存在。是这样吗?
编辑:
这里还有一点要注意:
我相信自动完成 HTML 属性与浏览器自动完成以前使用的文本有关,与 jQueryui 功能无关。
我在任何其他具有相同问题的问题中都找不到答案。 我正在尝试使用 jQuery 自动完成功能,但它根本没有做任何事情:
$(function(){
$("#pj-filter").change(function(){
window.location.href = "?project_filter=" + $(this).val();
});
$("#user-filter").change(function(){
window.location.href = "?project_filter=false&user_filter=" + $(this).val();
});
$("#add-task").click(function(e){
Popup.loading();
request("task_form", {}, function(response){
Popup.finish();
Popup.display(response);
$("input#name").focus();
$(".date-input").datepicker({ dateFormat: 'yy-mm-dd', firstDay: 1 });
/*var projects = <?php echo json_encode($projects); ?>;
$("#project").autocomplete({
source: projects
});*/
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$( "#project" ).autocomplete({
source: availableTags
});
$("#save-task").click(function(){
Popup.loading();
request("save_task", {
name: $("input#name").val(),
status: $("select#status").val(),
description: $("textarea#description").val(),
due_date: $("input#due_date").val(),
type: $("select#type").val(),
safeID: $("input#safeID").val(),
project: $("input#project").val()
}, function(response){
window.location.reload();
});
});
});
});
});
代码来自 jQuery 主页上的示例。 奇怪的是,如果我查看 Chrome:
中的代码<input type="text" id="project" maxlength="64" value=""
class="ui-autocomplete-input" autocomplete="off">
输入有 class ui-autocomplete-input
,但自动完成仍然不起作用。
我使用 jQuery 3.1.1 和 jQuery-UI 1.12.1 jsfiddle 中的相同代码工作正常: https://jsfiddle.net/yn1Lo5cm/
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL",
"ColdFusion",
"Erlang",
"Fortran",
"Groovy",
"Haskell",
"Java",
"JavaScript",
"Lisp",
"Perl",
"PHP",
"Python",
"Ruby",
"Scala",
"Scheme"
];
$("#project").autocomplete({
source: availableTags
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.min.js"></script>
<input type="text" id="project" maxlength="64" value="" class="ui-autocomplete-input" autocomplete="off">
您已将自动完成设置为关闭尝试 <input type="text" id="project" maxlength="64" value="" class="ui-autocomplete-input" autocomplete="on">
我们可以非常确定代码没有问题。这里有一件事,自动完成 不起作用 是什么意思?你说的下面一行很有意思:
The input has the class ui-autocomplete-input, but still the autocomplete does not work.
要使其正常工作,我们需要 jqueryui css。
我这么说是因为 css 的 link 在 fiddle 中不存在。是这样吗?
编辑:
这里还有一点要注意: 我相信自动完成 HTML 属性与浏览器自动完成以前使用的文本有关,与 jQueryui 功能无关。