`
xxy_tidy_sky
  • 浏览: 5284 次
  • 性别: Icon_minigender_1
  • 来自: 江苏
社区版块
存档分类
最新评论

EXTjs3 checkBoxGroup 的动态添加删除

阅读更多

最近新学ext,被checkBoxGroup 的动态添加删除搞的痛不欲生,在不停的尝试之后终于搞定了~

从后台拿数据再用ajax稍微改造下就可以了。

效果图:

 

 

test.js

 

 

function checkAll(groupId){
	var group = Ext.getCmp(groupId);
	var length = group.items.getCount();
	var isCheck=group.items.items[0].checked;
	   
	for(var i=1;i<length;i++){
		if(isCheck)
			group.items.items[i].setValue(true);	
		else 
			group.items.items[i].setValue(false);
	}
	//alert(group.getValue());
}

Ext.onReady(function(){

	var myGroup = new Ext.form.CheckboxGroup({
        id:'myGroup',
        xtype: 'checkboxgroup',
        fieldLabel: 'Single Column',
        // Put all controls in a single column with width 100%
        columns: 4,
        items: [
        		{boxLabel: '全选', name: 'cb-col-0',id:'c0',listeners:{
        				check:function(){
        						checkAll('myGroup');
        					}
        			}},
            {boxLabel: 'Item 1', name: 'cb-col-1',id:'c1'},
            {boxLabel: 'Item 2', name: 'cb-col-2',id:'c2', checked: true},
            {boxLabel: 'Item 3', name: 'cb-col-3',id:'c3'}
        ]
    });
	
	var button = new Ext.Button({
        text: 'add'
        ,handler: function(){
            var length = myGroup.items.getCount();
            var col = myGroup.panel.items.get(myGroup.items.getCount()%myGroup.panel.items.getCount());
            var newItem = new Ext.form.Checkbox(
             {
             	boxLabel: 'Item '+length, 
            	name: 'cb-col',
            	listeners:{
            		check:function(){
  								if(this.checked)
  									alert(this.id);	
  							}
  					}});  
            col.add(newItem);
            myGroup.items.add(newItem);
            myGroup.panel.doLayout();	  	
        }
    });
    var button_r = new Ext.Button({
        text: 'remove'
        ,handler: function(){
        		var items = myGroup.items;
        		var length = items.getCount();
        		var lastItems = myGroup.items.items[length-1];
        		lastItems.destroy();  
        		myGroup.items.remove(lastItems.id);    
        		myGroup.items.remove(lastItems); 
        }
    });
    var form = new Ext.form.FormPanel({
		border:false,
		labelAlign:"right",
		buttonAlign:'center',
		labelWidth:150,
		frame:true,
		baseParams : {create : true }
	});
	
  
	form.add(myGroup);
	form.add(button);
	form.add(button_r);
	form.render('form');
});	
	

 

test.html

 

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<link rel="stylesheet" type="text/css" href="../extjs/resources/css/ext-all.css" />
<script src="../extjs/adapter/ext/ext-base.js" type="text/javascript" charset="utf-8"></script>
<script src="../extjs/ext-all-debug.js" type="text/javascript" charset="utf-8"></script>

<script src="test.js" type="text/javascript" charset="utf-8"></script>
<head >
	<title >测试
    </title>
</head>

<body >
	<div id="form"></div>
</body>

</html>
分享到:
评论

相关推荐

    ExtJS-3.4.0系列目录

    - `Ext.form.CheckboxGroup` 和 `Ext.form.RadioGroup`:用于组合复选框和单选框。 - `Ext.form.field.Trigger`:触发字段,常用于下拉搜索框。 - `Ext.form.field.Spinner`:用于数字的微调。 - `Ext.form....

    ExtJs使用过程中积攒的一些东西

    - 表单控件:FormPanel可以包含各种表单元素,如文本框`textfield`、密码框`passwordfield`、选择框`checkbox`、复选框组`checkboxgroup`、单选框`radiogroup`、下拉框`combobox`、日期选择器`datefield`等。...

    学习ExtJS Panel常用方法

    这在动态调整 Panel 大小或添加/删除子组件后尤为有用。 - 示例代码: ```javascript var panel = new Ext.Panel(); panel.add(new Ext.Button({ text: '按钮' })); panel.layout.layout(); // 强制重新布局 ...

    extjs帮助文档pdf版

    ### ExtJS核心API详解 #### 1. Ext 类 (P.2) - **概述**:`Ext` 是 ExtJS 的核心命名空间,包含了全局的方法和属性。 - **用途**:提供了一个统一的入口来访问 ExtJS 库的功能,如创建组件、管理事件等。 - **常用...

    ExtAspNet_v2.3.2_dll

    +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为...

    ExtAspNet v2.2.1 (2009-4-1) 值得一看

    +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为...

Global site tag (gtag.js) - Google Analytics