我是jQuery ui及其自动完成功能的新手。是否可以将一个简单的字符串(如var typedText=""
)传入jQuery的自动完成功能并返回一组可能的自动完成匹配?我正在尝试为KineticJS gui创建一个搜索栏,而不像所有示例那样覆盖html文本输入。所以我真的需要传入一个字符串并返回一个可能的完成列表。
以下是一段代码,说明了我的问题。
// used as a temp
var typedText=""; // *** this is what I want to pass into autocomplete***
// Prevent the backspace key from navigating back
$(document).unbind('keydown').bind('keydown', function (event) {
var doPrevent = false;
if ((event.keyCode === 8 || event.keyCode === 48 )) {
event.preventDefault();
if(typedText.length>0){
typedText=typedText.slice(0,-1);
searchText.setText(typedText);
textBoxGroup.drawScene();
}
}
});
// handle normal "printable" keys
$(document).on('keypress',(function(e){
if(isMouseOverTestList == false){
return;
}
// get the key
key=e.which;
// let keydown handle control keys
if(key<32){return;}
// add the typed character
typedText+=String.fromCharCode(e.charCode);
searchText.setText(typedText);;
textBoxGroup.drawScene();
}));
$(function () {
var availableTags = [
"ActionScript",
"AppleScript",
"Asp",
"Scala",
"Scheme"];
$(".language").autocomplete({ //--- how do I replace .language with a standard string var?
source: availableTags,
focus: function(evt, ui){
var txtbx = $(this).parent().prev().text();
$('#result').html(txtbx + ' textbox last focused');
// ************************ now populate array with data?
}
});
});