在ExtJS 4.1中未选中复选框

时间:2012-09-11 15:06:52

标签: extjs

我从服务器加载表单数据并用它填写表单。

    var form = this.getPForm().getForm().load({
        url: '/url',
        params: {
            id: record.get('id'),
        },
    });

一切顺利,除了一个checbox,即使输入数据为true

也无法检查
            {
                fieldLabel: 'name',
                name: 'name',
                minLength: 5,
                maxLength: 80,
            }, {
                xtype: 'checkbox',
                fieldLabel: 'Yes?',
                name: 'yes',
                inputValue: '1',
                uncheckedValue: '0',
                    listeners:{                 
                    change:function(c){

                        alert(c.getValue());

                    }
                },
            }, 

在表单加载时,我收到true警告消息,通知表单数据已被删除checkbox并且正在更改。但是复选框没有被检查!

2 个答案:

答案 0 :(得分:1)

上面的加载操作对你的问题一无所知......正如JohnnyHK所述,你收到了什么数据(加载到表单中) 根据你的评论,我猜你收到一个布尔值,因此我建议你使用

inputValue: 'true', 
uncheckedValue: 'false'

即使

inputValue: '1', 
uncheckedValue: '0'

应该使用普通的javascript进行比较。您也可以尝试设置默认的起始值

value: true, 
checked: true

至少我是这样做的,它对我有用。如果这没有帮助,请将您收到的数据从服务器发布。

答案 1 :(得分:1)

解决了我的问题。问题出在两个不同复选框的相同name属性中。感谢所有人花时间。