jQuery UI Autocomplete:传入字符串返回数组

时间:2014-06-23 20:15:14

标签: javascript jquery jquery-ui autocomplete kineticjs

我是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?
        }
    });
});

0 个答案:

没有答案