【问题标题】:How to dynamically select values in Multiselect combo box - LovCombo ExtJS 3.2如何在多选组合框中动态选择值 - LovCombo ExtJS 3.2
【发布时间】:2013-03-22 08:14:27
【问题描述】:

我在 ExtJS 3.2 中使用 lovcombo。我为组合框的初始加载获取数据,并且我得到了正确的数据。但是现在我有一个要求,假设最初我在组合框中有 10 个条目(选项),我现在需要动态选择 5 个选项。实际上我用它来显示依赖实体映射。意味着一个实体依赖于许多其他实体,因此在多选组合框中显示它们。当我获得根实体时,我需要为我的根实体获取依赖实体,因此我将在组合框中动态选择这些条目。这是我的代码 -

{
    xtype: 'lovcombo',
    fieldLabel: 'data Requirement ',
    store: dep_req_store,
    displayField: 'text',
    valueField: 'value',
    mode: 'local',
    emptyText: 'Select Requirement...',
    triggerAction: 'all',
    name: 'data_id',
    id: 'data_id' + idSuf,
    hiddenName: 'reqIdHid3',
    width: 200,
    forceSelection: true,
    editable: true,
    hideOnSelect: false,
    beforeBlur: Ext.emptyFn,
}

我将在加载后遍历此组合的每个元素并选择必要的选项:

Ext.getCmp('data_id' + idSuf).getStore().data.items.each(function(record) {
    record.dirty = true; //I tried this but no success.
});

另外,我没有找到任何可以帮助我选择以下选项的属性:

record.selected = true 

所以,请帮助我。是否可以使用 lovcombo 实现这一目标?

提前致谢。

【问题讨论】:

    标签: javascript extjs combobox


    【解决方案1】:

    在记录的字段定义中,您可以创建一个名为checked的新字段,该字段默认由lovcombo用于存储记录的检查状态

    fields: [
        ...
        {name: 'checked',  type: 'boolean'},
        ....
    ]
    

    当你想在加载后检查任何记录时

    record.set('checked', true);
    

    Reference:

    【讨论】:

    • 感谢您的回答!实际上,我也找到了像这样的病房后的路 - record.set(this.checkField, true); 其中checkField 是它的默认属性。再次感谢!
    猜你喜欢
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 2018-10-24
    • 2011-08-13
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多