`

ExtJs使用ComboBox的setValue方法时 未能选中正确的值

EXT 
阅读更多
首先,提前祝大家元旦快乐,新年快乐!

这阵子把完成的模块给了运营支撑的同事测,其中他们提出在添加歌曲,当某歌手不存在时创建后能否把歌手名自动填上。刚开始,觉得不难,也就在添加歌手窗口返回时,把歌手ID作为ComboBox的setValue方法的参数以及重新load一次singerStore应该可以(理论上)。不过,试后发现通过setValue方法会把ID的值直接显示在ComboBox的输入框中(这跟setValue方法在load之前调用或之后调用无关),其并未自动从拉下框中选中正确的值。

后来,只能在网上找,以下也是参考了http://stackoverflow.com/questions/3832710/extjs-combobox-doesnt-pick-the-correct-value-when-setvalue-is-called的做法:

引用
singerStore.on('load',function(store,records,options){//singerStore歌手信息库
         Ext.getCmp('songSingerId').setValue(
                             Ext.getCmp('songSingerId').getValue());
    });


在歌手创建成功后的success回调方法中执行以下代码:
Ext.getCmp('songSingerId').setValue(singerIdCreated);//singerIdCreated是创建新歌手后传回来的ID
Ext.getCmp('songSingerId').getStore().reload();


PS:歌手名作为displayField,歌手ID作为valueField

有空,欢迎你到红番薯逛逛
0
0
分享到:
评论

相关推荐

    Extjs中ComboBox加载并赋初值的实现方法

    在代码示例中,editCityStore.load() 方法调用时,通过设置一个callback函数,在这个函数中,我们使用Ext_cmpId_的方式来获取需要操作的ComboBox组件,并通过setValue方法来设置选中值。参数cityid应该是先前已经...

    extjs多选下拉框

    例如,`setValue`可以设置选中的值,`getValue`可以获取选中的值。 7. **样例代码**: 这是一个基本的多选下拉框的示例,你可以根据自己的需求进行修改和扩展: ```javascript Ext.application({ launch: ...

    extjs4.2 分页combo动态条数 源码

    Combobox是EXTJS中的一种表单字段,它结合了文本输入框和下拉菜单,允许用户从预定义的选项列表中选择一个值。默认情况下,所有的选项都会被加载到下拉菜单中,但通过添加分页功能,我们可以将大列表拆分成小块,...

    ExtJS4给Combobox设置列表中的默认值示例

    这样,当Store加载完数据之后,`setValue`方法就能找到对应的Combobox组件并设置其值。 ```javascript Ext.create('***boBox', { fieldLabel: '选择季度', id: 's1', store: gjcx1, // 将已定义好的Store引用...

    extjs实现下拉框多选

    你可以通过 `getValue()` 方法获取当前选定的值,`setValue(values)` 方法来设置值。 为了展示已选择的项,可以自定义模板。例如,可以创建一个新的 `Ext.XTemplate`,并在 `displayTpl` 属性中使用它: ```...

    combobox Ext之扩展组件多选下拉框

    - `getValue()`和`setValue(values)`方法用于获取和设置多选值。 6. **用户交互优化**: - 可以通过`minWidth`和`maxHeight`设置下拉列表的最小宽度和最大高度,提升用户体验。 - `forceSelection`:如果设为`...

    Extjs & Ext.net中的一些属性

    例如,使用`getCmp`方法结合`setValue`或`setText`方法,可以动态更新界面上任何组件的状态。这对于响应用户操作、显示数据或提供实时反馈非常有用。同样地,`grid.getView().getRow(girdcount).style.height`这样的...

    不错的extjs资源

    `setValue`和`getValue`方法分别用于设置和获取选中的值,`disable`和`enable`用于禁用或启用组件。组件的宽度、下拉列表的宽度和高度可以通过`width`、`listWidth`和`listHeight`进行配置,`valueField`和`...

    解决ext下拉列表全选和去全选功能

    然后,使用`setValue`方法更新下拉列表的值。`deselectAllBtn`按钮的回调函数则将所有记录的`selected`字段设置为`false`,并清空下拉列表的值。 此外,如果你的下拉列表是作为表格的一部分,你可能还需要更新表格...

    EXTEXTEXTEXTEXTEXTEXT

    ExtJS 的 ComboBox 组件是用于创建下拉列表的常用控件,它允许用户从一组预定义的选项中选择一个值。在本文中,我们将深入探讨如何设置 ComboBox 的默认值、如何使用服务器数据作为数据源以及 ComboBox 数据源 store...

    extjs帮助文档pdf版

    - `Ext.String.format()`: 使用占位符替换字符串中的值。 - `Ext.String.trim(string)`: 删除字符串两端的空白字符。 #### 5. Date 类 (P.5) - **概述**:提供了日期和时间相关的操作方法。 - **常用方法**: - ...

Global site tag (gtag.js) - Google Analytics