如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值
Posted
技术标签:
【中文标题】如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值【英文标题】:ExtJS comboBox only sets value from JSON if no [] in name 【发布时间】: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
)
我还有其他选择吗?
谢谢。
【问题讨论】:
请向我们展示您的组合框配置 稍微改变了事实。谢谢。 顺便说一句,我也尝试在表单加载之前加载组合框存储,但仍然没有设置值。 【参考方案1】:我没有找到“开箱即用”的解决方案,因此我将一个成功处理程序附加到 form.load(),它将组合框的值设置为返回的 JSON 结果,如下所示:
success: function(form, action)
Ext.getCmp('companyField').setValue(action.result.data.company);
这样工作,不知道为什么我必须手动设置该组合框的值,我很高兴我在我的应用程序中“修复”了一个 2 天的问题,并且我愿意接受任何其他可以的建议指出我以正确的方式修复它。
谢谢。
【讨论】:
以上是关于如果名称中没有 [],ExtJS 组合框仅从 JSON 设置值的主要内容,如果未能解决你的问题,请参考以下文章