`
xxy_tidy_sky
  • 浏览: 5241 次
  • 性别: 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实现动态读写Checkboxgroup

    总结起来,动态读写ExtJS的CheckboxGroup涉及创建CheckboxGroup、读取选中值、设置选中值以及监听变化。通过结合`ext-basex.js`文件,你可以构建出更复杂的交互式表单和应用程序。记住,始终关注用户需求和体验,...

    Extjs3.0 checkboxGroup 动态添加item实现思路

    Extjs3.0 中的CheckboxGroup默认不能动态添加item。虽然它继承了Ext.form.Field,但是却类似于容器。 CheckboxGroup配置中的items处理生成一个对应的panel,该处理过程只有一次,所以很难对CheckboxGroup进行动态...

    ExtJs4 Checkbox tree

    ExtJs4 Checkbox Tree是基于ExtJs 4框架实现的一种特殊树形组件,它在传统的树形结构基础上增加了复选框功能。这种组件常用于需要用户多选树形数据的场景,比如权限设置、目录选择等。下面将详细介绍ExtJs4 Checkbox...

    EXTJS checkbox赋值

    在EXTJS中,`checkboxgroup` 是一个用于创建一组复选框的组件,通常用于让用户在多个选项中进行多选。 在EXTJS中,`checkboxgroup` 的配置项包括但不限于: 1. `xtype`: 这个属性定义了组件的类型,对于`checkbox...

    ExtJs 动态添加表单

    它可能包含了创建表单、动态添加和删除字段的逻辑,以及与服务器通信的代码。通过阅读和分析这个文件,我们可以更深入地了解如何在实际项目中应用这些技术。 总之,动态添加表单是ExtJS开发中的一个重要技巧,它...

    extjs tree CHECKBOX 多选删除未实现(带SQL脚本)

    在网上下载别人的代码,改进加上CHECKBOX ,但是批量删除做不出来,希望高手完成并分享。

    Extjs panel里添加checkboxgrop后台动态获取数据

    Extjs checkboxgrop动态获取后台数据,并默认为全选状态

    ExtJs的resultGrids中动态添加按钮

    如果`SuserInfoRes_js.jsp`是用于处理与用户信息相关的逻辑,那么动态添加的按钮可能与用户操作相关,比如编辑、删除或查看用户信息。我们可以根据当前用户的角色或权限动态生成这些按钮,这可以通过监听`store.load...

    extjs 初始化checkboxgroup值的代码

    代码如下: Ext.override(Ext.form.CheckboxGroup,{ setValueForItem : function(val){ //多个选项值以逗号分开的 val = “,”+val+”,” this.items.each(function(item) { if (val.indexOf(item.inputValue) &gt; -1) ...

    extjs4动态添加表头

    extjs4动态添加表头字段、删除、增加记录!

    EXTJS动态树支持checkbox 全选

    这可以通过在`loader`配置中定义`load`方法实现,该方法会在节点展开时被调用,向服务器发送请求获取子节点数据,然后使用返回的数据动态添加子节点。 7. **优化性能**:为了提高性能,可以使用分页或懒加载技术,...

    extJs3升级extjs4方案

    ExtJS3 升级到 ExtJS4 方案 ExtJS3 升级到 ExtJS4 需要修改大量代码,主要是因为 ExtJS4 配备了一类新的系统,不向后兼容。在 ExtJS 3 里生成表的几个框架组件,ExtJS4 大多生成 div,这使得 CSS classes 将会失败...

    extjs动态添加控件

    可以动态的新增和删除Ext控件,这里支持的上传控件的新增和删除。

    ExtJs动态grid的生成

    - Grid的顶部通常包含一个工具栏,可以动态添加按钮或其他UI元素,提供搜索、排序或过滤等功能。这些功能可以通过`dockedItems`配置项实现。 6. **Autogrid.js可能的用途** - 文件名"Autogrid.js"暗示可能是一个...

    extjs动态添加tabpanel标签页支持pannel嵌入

    extjs动态添加tabpanel标签页支持pannel嵌入 逻辑代码在 MyWindow.js里面直接调用 方法 就可以

    extjs 实现动态表头

    3. **动态添加/移除列**:当需要改变表头时,可以调用ColumnModel的`addColumn`和`removeColumn`方法,或者直接更新ColumnModel的配置数组。 4. **更新GridPanel**:添加或移除列后,需要调用GridPanel的`...

    Ext grid 动态添加字段、列扩展

    Ext grid 动态添加字段、列扩展, 如何动态添加或者删除一个grid的列

    extjs动态生成表格,前台+后台

    在本文中,我们将深入探讨如何使用ExtJS框架在前端动态生成表格,并结合后端数据进行展示。ExtJS是一个强大的JavaScript库,专用于构建富客户端Web应用程序,尤其在创建交互式用户界面方面表现突出。动态生成表格是...

Global site tag (gtag.js) - Google Analytics