我想通過遵循jQuery UI文檔來獲得自動完成功能。這是我第一次嘗試這樣的事情,所以我不能100%確定這裏有什麼問題。jQuery UI的自動完成返回一個空值與有效的json
的JSON:
[
{
"plugin_name": "NoSwear"
},
{
"plugin_name": "AaaaahDeath"
},
{
"plugin_name": "aAntiSpam"
},
{
"plugin_name": "Abacus"
},
{
"plugin_name": "abag"
},
{
"plugin_name": "AbandonedCarts"
},
{
"plugin_name": "AbbaRules"
},
{
"plugin_name": "Abilities"
},
{
"plugin_name": "AbilityTrader"
},
{
"plugin_name": "AbitOfRealism"
}
]
的JavaScript:
$(function() {
function split(val) {
return val.split(/,\s*/);
}
function extractLast(term) {
return split(term).pop();
}
$("#plugins")
.bind("keydown", function(event) {
if(event.keyCode === $.ui.keyCode.TAB && $(this).data("ui-autocomplete").menu.active) {
event.preventDefault();
}
})
.autocomplete({
source: function(request, response) {
$.getJSON("bukget_json.php", {
term: extractLast(request.term)
}, response);
},
search: function() {
var term = extractLast(this.value);
if(term.length < 2) {
return false;
}
},
focus: function() {
return false;
},
select: function(event, ui) {
var terms = split(this.value);
terms.pop();
terms.push(ui.item.value);
terms.push("");
this.value = terms.join(", ");
return false;
}
});
});
的HTML:
<div class="form-group ui-widget">
<label for="plugins">Plugins</label>
<input type="text" class="form-control" id="plugins" name="plugins" />
</div>
最後,這一切的結果是,有沒有出結果。以下是我所看到的截圖:http://d.pr/i/yh5N。