【问题标题】:jquery autocomplete in SlickGrid issuesSlickGrid问题中的jquery自动完成
【发布时间】:2013-01-07 13:34:37
【问题描述】:

col1我一直在尝试根据几个建议将 jquery 自动完成编辑器添加到我的 SlickGrid (2.0) 中,但我一直收到错误消息:

对象不支持此属性或方法

这是我想要开始的:

(function($) {

  // register namespace
  $.extend(true, window, {
    "Slick": {
      "Editors": {
        "Auto": AutoCompleteEditor,
        "SelectDD": SelectBoxEditor,
        "Select": SelectBoxEditor2,
        "Text": TextEditor,
        "Text2": IntegerCellEditor
      }
    }
  });

  var availableTags = [
                        "ActionScript",
                        "AppleScript",
                        "Asp",
                        "BASIC",
                        "C",
                        "C++",
                        "Clojure",
                        "COBOL",
                        "ColdFusion",
                        "Erlang",
                        "Fortran",
                        "Groovy",
                        "Haskell",
                        "Java",
                        "JavaScript",
                        "Lisp",
                        "Perl",
                        "PHP",
                        "Python",
                        "Ruby",
                        "Scala",
                        "Scheme"
                      ];

   function AutoCompleteEditor(args) {
     var $input;
     var defaultValue;
     var scope = this;
     var calendarOpen = false;

     this.init = function () {
       $input = $("<INPUT id='tags' class='editor-text' />");
       $input.appendTo(args.container);
       $input.focus().select();
       $input.autocomplete({
            source: availableTags
        });
     };

     this.destroy = function () {
       $input.autocomplete("destroy");
     };

     this.focus = function () {
       $input.focus();
     };

     this.loadValue = function (item) {
       defaultValue = item[args.column.field];
       $input.val(defaultValue);
       $input[0].defaultValue = defaultValue;
       $input.select();
     };

     this.serializeValue = function () {
       return $input.val();
     };

     this.applyValue = function (item, state) {
       item[args.column.field] = state;
     };

     this.isValueChanged = function () {
       return (!($input.val() == "" && defaultValue == null)) && ($input.val() != defaultValue);
     };

     this.validate = function () {
       return {
         valid: true,
         msg: null
       };
     };

     this.init();
   }

这里是网格的相关部分:

var columns = [
{id:"col1", name:"test", field:"col1",  width:135, editable:true, cssClass:"pad-4-left", sortable:true, editor:Slick.Editors.Auto},

我已经包含了所谓的依赖项:

<link rel="stylesheet" type="text/css" href="css/jquery-ui.css" media="all" />
<script type="text/javascript" src="js/jquery/jquery-1.8.3.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui.js"></script>

任何建议都会很棒。

谢谢

【问题讨论】:

    标签: jquery autocomplete slickgrid


    【解决方案1】:

    更新 - 事实证明,我显然受到了这个 jquery 模块的干扰:jquery-ui-1.8.16.custom.min.js。
    我做了一个解决方法,还需要使用早期版本的 jquery.min (jquery-1.7.2.min.js),因为后来的 1.8.3 版本也在我现有的应用程序中抛出错误。
    两个“修复”都已实施,现在我已经启动并运行了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-12-04
      • 2011-08-08
      • 2013-01-22
      • 2016-05-31
      • 2011-10-08
      • 1970-01-01
      • 2011-11-16
      相关资源
      最近更新 更多