如果名称中没有[],则ExtJS comboBox仅从JSON设置值

时间:2011-08-20 13:07:12

标签: json extjs extjs3

在这里使用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 个答案:

答案 0 :(得分:2)

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

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

这种方式有效,不知道为什么我必须手动设置该组合框的值,我很高兴我“修复”了我的应用程序中的2天问题而且我打开任何其他建议可以指出我以适当的方式解决它。

感谢。