您好,我有一个数组变量链接。我必须为keywords
和label
动态添加值。你怎么添加这个?谢谢
更新
MyIssue我需要在该数组中动态添加(推送)关键字和标签的值以进行自动完成。这该怎么做?
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>jQuery UI Autocomplete - Default functionality</title>
<link rel="stylesheet" href="http://jqueryui.com/themes/base/jquery.ui.all.css">
<script type="text/javascript" charset="utf-8" src="../js/cordova-1.7.0.js"></script>
<script type="text/javascript" charset="utf-8" src="../js/jquery-1.7.2.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.core.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.widget.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.position.js"></script>
<script src="http://jqueryui.com/ui/jquery.ui.autocomplete.js"></script>
<link rel="stylesheet" href="http://jqueryui.com/demos/demos.css">
<script>
$(function() {
var links = [
{
keywords: ['create', 'add', 'make', 'insert', 'user'],
label: "Create user",
//desc: "Create a user in the system",
//url: 'http://mysite.com/user/create/'
},
{
keywords: ['create', 'add', 'make', 'insert', 'organisation'],
label: "Create organisation",
// desc: "Create an organisation in the system",
// url: 'http://mysite.com/organisation/create/'
}];
$( "#tags" ).autocomplete({
source: function(request, response) {
var matched = [];
for (var k = 0; k < links.length; k++) {
if (checkSearchWordsMatchKeywords(request.term, links[k]['keywords'])) {
matched.push(links[k]);
}
}
// display the filtered results
response(matched);
}
});
function checkSearchWordsMatchKeywords(searchWords, keywords)
{
var searchWords = searchWords.toLowerCase(); // Lowercase the search words
var searchWords = searchWords.split(' '); // Break up the search into separate words
var numOfSearchWords = searchWords.length; // Count number of search words
var numOfKeywords = keywords.length; // Count the number of keywords
var matches = []; // Will contain the keywords that matched the search words
// For each search word look up the keywords array to see if the search word partially matches the keyword
for (var i = 0; i < numOfSearchWords; i++)
{
// For each keyword
for (var j = 0; j < numOfKeywords; j++)
{
// Check search word is part of a keyword
if (keywords[j].indexOf(searchWords[i]) != -1)
{
// Found match, store match, then look for next search word
matches.push(keywords[j]);
break;
}
}
}
if (matches.length == numOfSearchWords)
{
return true;
}
}
});
</script>
</head>
<body>
<div class="demo">
<div class="ui-widget">
<label for="tags">Tags: </label>
<input id="tags" />
</div>
</div><!-- End demo -->
</body>
</html>