通过更改SlickGridEditor.js在slickgrid上实现多个自动完成

时间:2017-01-04 02:17:34

标签: javascript jquery jquery-ui autocomplete slickgrid

我有一个光滑的网格数据列,一个字段在编辑器类型字段中有一个国家/地区自动填充。这是网格设置

var columns =[ { id: "CountryOfOrigin", name: "Country Of Mfg.", field: "CountryOfOrigin", minWidth: 120, editor: Slick.Editors.Auto }, ];

为简洁起见,代码清单中还遗漏了其他字段。我换了我的 SlickGridEditor.js将国家自动完成源表合并如下

var availableTags = ["Afghanistan", "Albania", "Algeria", "American Samoa", "Andorra", "Angola", ];

我更改了SlickGridEditor.js中的AutoCompleteEditor函数,如下所示

       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.bind("keydown.nav", function (e) {
            if ((e.keyCode == $.ui.keyCode.DOWN || e.keyCode == $.ui.keyCode.UP ||
                 e.keyCode == $.ui.keyCode.ENTER)
              && $('ul.ui-autocomplete').is(':visible')) e.stopPropagation();

            if (e.keyCode == $.ui.keyCode.LEFT || e.keyCode == $.ui.keyCode.RIGHT)
                e.stopImmediatePropagation();
        });
        minLength: 3,

        $input.autocomplete({
            source: availableTags


        });
    };

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

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

现在我需要将自动填充添加到网格命名区域中的另一个字段,该字段包含我想要自动填充的区域列表 非洲,亚洲,中美洲,东欧,欧盟,中东,北美洲,大洋洲,南美洲,加勒比地区

我可以在同一网格上部署多个自动复合,我该怎么做? 非常感谢提前。

0 个答案:

没有答案