首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何正确加载动态数据存储的gridcombobox?

如何正确加载动态数据存储的gridcombobox?
EN

Stack Overflow用户
提问于 2011-08-10 15:31:51
回答 1查看 169关注 0票数 0

我正在开发一个简单的网格表单,它有一个组合框和作为代理的数据源(如http://goo.gl/2fxP8)。combobox加载正常,但当我尝试选择其中一个列表项时,网格表单关闭,但combobox没有关闭。有人能帮我吗?

我还计划扩展combobox onselect函数,这样一旦选择了列表项,其他字段就会被动态加载。

代码语言:javascript
运行
复制
 searchField = new Ext.form.ComboBox({
     store: ds,
     name : 'search',
     id:'search',
     fieldLabel : 'Search',
     displayField:'title',
     typeAhead: false,
     loadingText: 'Searching...',
     pageSize:10, 
     minChars:2,
     triggerAction: 'all',
     width: 200,
     tpl: resTpl,
     itemSelector: 'div.search-item',
     onSelect: function(record){ 
     /* Set Values to other fields here */
     }
 }),

保存代码为:

代码语言:javascript
运行
复制
                                    Ext.Ajax.request
                                    ({  
                                    url:"some url",
                                    scope:this,
                                    params:
                                    {
                                    },
                                    success: function(objServerResponse)
                                    {
                                        eval("var resultSet = " +objServerResponse.responseText);
                                        if(resultSet.isOk)
                                        {

                                            this.collapse();
                                        }   
                                        else
                                        {


                                        }

                                    }
                                    });
EN

Stack Overflow用户

回答已采纳

发布于 2011-08-11 10:30:23

我认为问题是你覆盖了onSelect函数..

看看here (尝试找到onSelect),onSelect方法是私有的……

正如您所看到的,默认情况下,在onSelect内部有要调用的collapse函数。所以,如果你使用onSelect..默认情况下,您的组合不会崩溃。

您必须手动执行此操作。就像基兰说的..。

我的问题是,为什么要重写onSelect函数?

如果您需要在选择组合时执行某些操作,为什么不将其设置为listeners?

尝试更改您的代码:

代码语言:javascript
运行
复制
 onSelect: function(record){ 
 /* Set Values to other fields here */
 }

使用这一条:

代码语言:javascript
运行
复制
listeners : {
   "select" : function(combo,data,idx){
        console.info(data);
   }
}
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7007301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档