2

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

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

一切正常,除了一个复选框,即使它的输入数据是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并且正在更改。但是复选框没有被选中!

4

2 回答 2

1

上面的加载操作完全没有说明您的问题...正如 JohnnyHK 所说,您收到什么数据(加载到表单中)从您的评论中我猜您收到的是布尔值,因此我建议您使用

inputValue: 'true', 
uncheckedValue: 'false'

即使

inputValue: '1', 
uncheckedValue: '0'

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

value: true, 
checked: true

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

于 2012-09-12T06:09:22.973 回答
1

解决了我的问题。问题出name在两个不同复选框的相同属性中。感谢大家抽出时间。

于 2012-09-12T06:43:49.833 回答