Extjs复选框setValue基于1和0

时间:2011-04-19 00:35:19

标签: extjs checkbox

我的表单面板上有一个复选框,

我正在进行我需要在MySQL数据库中基于id编辑数据的过程,其中有一个选项,用于复选框1 =选中0 =未选中,

如何获取复选框字段的值,并将其放在条件子句上并将选中的值设置为复选框(如果为1),如果返回0则不检查?...

3 个答案:

答案 0 :(得分:15)

需要设置为复选框配置

inputValue: '1',
uncheckedValue: '0'

您可以查看http://docs.sencha.com/extjs/4.2.2/#!/api/Ext.form.field.Checkbox-cfg-uncheckedValue

上的文档

答案 1 :(得分:1)

如果值是字符串,则所有检查都不会考虑事件检查。我创建了一个修复程序在Ext.onReady之前添加

Ext.override
(
    Ext.form.Checkbox,
    {
        setValue:function(v){

            var checked = this.checked, inputVal = this.inputValue;

            if(v === false)
            {
                this.checked = false;
            }
            else
            {
                this.checked = (v === true || v === 'true' || v == '1' || (v instanceof String) || (inputVal ? v == inputVal : String(v).toLowerCase() == 'on'));
            }

            if(this.rendered)
            {
                this.el.dom.checked = this.checked;
                this.el.dom.defaultChecked = this.checked;
            }
            if(checked != this.checked)
            {
                this.fireEvent('check', this, this.checked);
                if(this.handler)
                {
                    this.handler.call(this.scope || this, this, this.checked);
                }
            }
            return this;
        }
    }
);


{
    xtype:'checkbox', 
    fieldLabel:'Caption', 
    labelSeparator:':', 
    boxLabel:'LabelText', 
    name:'status', 
    inputValue:'0'
}

inputValue必须是字符串'0'。

答案 2 :(得分:0)

此问题已得到解决,

每个字段使用1个复选框,根本没有问题!....

当分配给它的字段名返回值1时,将检查该复选框,

就是这样!,

...