找回密码
 立即注册

QQ登录

只需一步,快速开始

pcc

注册会员

2

主题

4

帖子

20

积分

注册会员

积分
20
最新发帖
pcc
注册会员   /  发表于:2018-7-20 12:09  /   查看:2701  /  回复:5
在使用AutocompleteCellType ,根据用户输入的字符,去后台AJax查询,动态加载数据到下拉列表中,而不是一开始window.load写死下拉列表的数据,怎么来实现啊? blob740022277.png
就是这个列表是根据用户输入单元格动态加载,并渲染下拉框。

5 个回复

倒序浏览
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-20 18:06:02
沙发
可以预先将数据库的联想数据拿出来,放到前端。
回复 使用道具 举报
pcc
注册会员   /  发表于:2018-7-25 17:46:24
板凳
ClarkPan 发表于 2018-7-20 18:06
可以预先将数据库的联想数据拿出来,放到前端。

因为数据量很大,只能根据用户输入的每一个字去后台查询结果,然后返回提示给用户。
  AutocompleteCellType.prototype.activateEditor = function (editorContext, cellStyle, cellRect, context) {
        var $editor = $(editorContext);
        GcSpread.Sheets.CustomCellType.prototype.activateEditor.call(this, editorContext, cellStyle, cellRect, context);
        $editor.css("position", "absolute");
        $editor.attr("gcUIElement", "gcEditingInput");
        $editor.autocomplete({
            source: this.availableTags

        });
// initialize autocomplete widget
        $editor.autocomplete("widget").attr("gcUIElement", "gcEditingInput"); // keep focus when mouse down on dropdown
        //此处可设置属性
        $editor.autocomplete("widget").css("height", "200px");
        $editor.autocomplete("widget").css("overflow", "hidden");
        return $editor;
    };
是在标红的位置进行AJAX处理么?
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-25 18:27:25
地板
这个我需要验证一下,明天给您回复。
回复 使用道具 举报
pcc
注册会员   /  发表于:2018-7-30 11:35:08
5#
ClarkPan 发表于 2018-7-25 18:27
这个我需要验证一下,明天给您回复。

您这边有消息了么
回复 使用道具 举报
Clark.Pan讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2018-7-30 16:24:33
6#
是这样的autocomplete这个demo用的是第三方的组件jquery-ui的autocomplete,而其中.autocomplete这个方法是该组件的接口。传的是整个自动提示的内容,而根据输入匹配的逻辑是组件内部自己实现的。所以如果要用jquery-ui的autocomplete是不能按您说的那样做的。您可以调研一下,jquery-ui的autocomplete有没有别的方式来实现,或者有没有别的第三方组件能够完成您的需求。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部