我正在尝试实现JQuery UI提供的自动完成功能,我想知道如何通过提供源代码来实现这一点:
<script>
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
</script>
进入我的script.js文件。在我的.html文件中,我有:
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script type="text/javascript" src="script.js"></script>
其中script.js是我的.js文件。我试过把它放在我的.js文件中:
$(document).ready(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
这在我的.html文件中:
<form class="ui-widget" name="phoneForm">
<label for="tags">Tags: </label>
<input id="tags" name="phoneItem" placeholder="Add a Phone"/>
</form>
但这不起作用。任何人都可以帮助我解决我做错了什么并指出我的写作方向?谢谢!
答案 0 :(得分:2)
你有没有试过这个:
<html>
<head>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<script>
$(function() {
var availableTags = [
"United States",
"France",
"Germany",
"China",
"Australia",
"England",
"Saouth Korea",
"India"
];
$("#tags").autocomplete({
source: availableTags
});
});
</script>
</head>
<body>
<label for="tags">Tags: </label>
<input id="tags" placeholder="Enter Some Text…">
</body>
</html>
你可以在这里试试: demo
答案 1 :(得分:0)
请确保不要在.js文件中包含HTML元素。 (取<script> ... </script>
出)。
确保将script.js放在与HTML文件相同的文件夹目录中。
现在位于 JavaScript (script.js):
// First line is a short for $(document).ready(function(){ ... });
$(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
在 HTML :
中<!DOCTYPE HTML>
<html>
<head>
<title></title>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script type="text/javascript" src="script.js"></script>
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css">
</head>
<body>
<form>
Autocompleted field: <input id="tags" type="text" placeholder="Fill me" />
</form>
</body>
</html>
请注意,在HTML输入元素中我们有id="tags"
,在JavaScript中我们使用$("#tags")
来指出该HTML元素。
现在你应该被设定!
答案 2 :(得分:0)
以下是jQuery UI的基本设置,http://jsfiddle.net/steelywing/bZP9A/
的index.html
<html>
<head>
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css">
</head>
<body>
<label for="tags">Tags: </label>
<input id="tags" />
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
<script src="auto.js"></script>
</body>
</html>
auto.js
$(document).ready(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL"
];
$( "#tags" ).autocomplete({
source: availableTags
});
});
答案 3 :(得分:0)
所以事实证明我所拥有的代码100%正常工作,原因是不起作用是因为我试图实现的其他代码。我希望能够单击一个按钮,将自动完成UI中的字符串添加到页面上的列表中,所以我尝试这样做:
$(document).ready(function() {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"BASIC",
"C",
"C++",
"Clojure",
"COBOL"
];
$( "#tags" ).autocomplete({
source: availableTags
});
$("#addButton").click(function() {
var toAdd = $("input[name=phoneItem]").val();
$("#currentList").append("<div class='item'>" + toAdd + </div>);
});
});
这不仅不起作用,而且导致自动完成和我的.js文件中的其他所有内容都无法正常工作。任何关于为什么会出现这种情况的想法都会有所帮助,再次感谢大家!
答案 4 :(得分:0)
您在结束标记周围缺少引号:
$("#currentList").append("<div class='item'>" + toAdd + </div>);
应该是:
$("#currentList").append("<div class='item'>" + toAdd + "</div>");