【问题标题】:ExtJS comboBox only sets value from JSON if no [] in name如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值
【发布时间】:2011-08-20 13:07:11
【问题描述】:

在这里使用 ExtJS 3。我刚刚注意到(在回复我之前的问题时)只有当我不发送多个组合框名称时才会出现问题。我目前已经像name[] 这样设置了我的组合框的名称,因为我将发送一个值数组。如果我删除数组[],它可以工作,但我只能获取最后发送的组合框值。我的配置是用于多个选择目的的 SuperBoxSelect,但这也发生在我的组合框上:

new Ext.ux.form.SuperBoxSelect({
       store:storeForCompanies,
       fieldLabel:'CN',
       id:'companyField',
       displayField: 'company_name',
       valueField: 'id',
       name:'cn',
       hiddenName: 'company[]',
        typeAhead: true,
        mode: 'remote',
        minChars : 0,
        triggerAction: 'all',
        emptyText:'- Choose -',
        selectOnFocus:true,
        allowBlank:true,
       width: 350
})

我还有其他选择吗?

谢谢。

【问题讨论】:

  • 请向我们展示您的组合框配置
  • 稍微改变了事实。谢谢。
  • 顺便说一句,我也尝试在表单加载之前加载组合框存储,但仍然没有设置值。

标签: json extjs extjs3


【解决方案1】:

我没有找到“开箱即用”的解决方案,因此我将一个成功处理程序附加到 form.load(),它将组合框的值设置为返回的 JSON 结果,如下所示:

success: function(form, action)
{
Ext.getCmp('companyField').setValue(action.result.data.company);
}

这样工作,不知道为什么我必须手动设置该组合框的值,我很高兴我在我的应用程序中“修复”了一个 2 天的问题,并且我愿意接受任何其他可以的建议指出我以正确的方式修复它。

谢谢。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多