extjs中fieldset控件中选中和取消标题上的checkbox

     因公司项目需要引入了extjs中fieldset,要求在页面载入的时候选中或者取消fieldset控件中选中和取消标题上的checkbox,api文档中有个toggleCollapse()方法。不过,用的不太理想,总是当关闭的时候再调用则会打开,反之亦然;翻来下源码

 toggleCollapse : function(animate){
        this[this.collapsed ? 'expand' : 'collapse'](animate);
        return this;
    }

 不难看出是调用expand(alimate)或者collapse(alimate)方法。

alimate为true,使用动画效果,也即动作慢慢的滑动;

alimate为false,不使用动画效果,此时动作会很快。

 

具体例子如下:

Ext.onReady(function(){

    var fsf = new Ext.FormPanel({
        labelWidth: 75, // label settings here cascade unless overridden
        url:'save-form.php',
        frame:true,
        title: 'Simple Form with FieldSets',
        bodyStyle:'padding:5px 5px 0',
        width: 500,

        items: [{
			id : 'fs',
            xtype:'fieldset',
            checkboxToggle:true,
            title: 'User Information',
            autoHeight:true,
            defaults: {width: 210},
            defaultType: 'textfield',
            collapsed: true,
            items :[{
                    fieldLabel: 'First Name',
                    name: 'first',
                    allowBlank:false
                },{
                    fieldLabel: 'Last Name',
                    name: 'last'
                },{
                    fieldLabel: 'Company',
                    name: 'company'
                }, {
                    fieldLabel: 'Email',
                    name: 'email',
                    vtype:'email'
                }
            ]
        }],

        buttons: [{
            text: '选中并打开(动画)',
			handler : function() {
				var fs = Ext.getCmp('fs');
				fs.expand(true);
			}
        },{
            text: '不选并关闭(动画)',
			handler : function() {
			   var fs = Ext.getCmp('fs');
			   fs.collapse(true);
			}
        },{
            text: '选中并打开(普通)',
			handler : function() {
				var fs = Ext.getCmp('fs');
				fs.expand(false);
			}
        }, {
		    text: '不选并关闭(普通)',
			handler : function() {
			   var fs = Ext.getCmp('fs');
			   fs.collapse(false);
			}
		}]
    });

    fsf.render(document.body);

   
   
});

 

你可能感兴趣的:(js)