0 0

extjs CheckboxGroup 怎么动态生成并提交及修改25

这两天写 extjs ,想死了,可能年老体弱吧,感觉写不动了。所以来网上找大家。

简单代码如下:
var Checkbox new Ext.form.Checkbox({     //checkbox   
                fieldLabel:'checkbox',   
                name:'cb',   
                checked:true,   
                boxLabel:'checkbox' 
...

实现如这种效果:


我要通过 http请求,由后台返回一个 json 字符串,来显示这个复选框。
然后修改时,我怎么赋值?


var checkboxgroup_tempx = new Ext.form.CheckboxGroup({    
    id:'myGroup',    
    xtype: 'checkboxgroup',    
    fieldLabel: '多选',    
    itemCls: 'x-check-group-alt',    
    // Put all controls in a single column with width 100%    
    columns: 1,    
  
 items : [{   
             layout : 'column',   
            items: [    
   {boxLabel:'项目1',name:'item',inputValue:'1'},
   {boxLabel:'项目2',name:'item',inputValue:'2'},
   {boxLabel:'项目3',name:'item',inputValue:'3'},
   {boxLabel:'项目4',name:'item',inputValue:'4'},
   {boxLabel:'项目5',name:'item',inputValue:'5'},
   {boxLabel:'项目6',name:'item',inputValue:'6'}
  ]   
             } ]   
  
});



Ext.data 有几实现的,Ext.data.SimpleStore,等。

悲剧啊,真不知道extjs 怎么通过 url 请求,在网上看了不少例子,都不太是我要的。
谢谢各位。




全部代码如下:

<%@ page contentType="text/html; charset=UTF-8" errorPage="../../../inc/errorpage.jsp"%>

<html>
<head>
<title>新增</title>
<script type="text/javascript">


var field_newspwap_1 = new Ext.form.FieldSet({
	title : '用户基本信息',
	autoHeight : true,
	collapsible : true,
	id : 'field_newspwap_1',
	items : [{
		layout : 'column',
		border : false,
		baseCls : 'x-plain',
            items:[{
			columnWidth : .5,
			layout : 'form',
			baseCls : 'x-plain',
			border : false,
			defaultType : 'textfield',
			defaults : {
				anchor : '93%'
			},
			         items: [{
		                    	xtype:'textfield',
		                    	allowBlank : false,
		                        fieldLabel: '账号',
		                        name:'user.name'
		                        }

	                    ]
            	},{
			columnWidth : .5,
			layout : 'form',
			border : false,
			baseCls : 'x-plain',
			defaultType : 'textfield',
			defaults : {
				anchor : '93%'
			},
                	items: [{
	                  
	                    	xtype:'textfield',
	                    	allowBlank : false,
	                        fieldLabel: '密码',
	                        name:'user.password'
	                        }
	                       
                    ]
	           }]
          }]
});

var arr=[ [1, '小王'], [2, '小林'],[3, '张三'] ];   
    var reader = new Ext.data.ArrayReader(   
   {id: 0},   
   [   
    {name: 'value'},           
    {name: 'key'}      
    ]);   
      
    var store=new Ext.data.Store({   
      reader:reader   
   });   
   store.loadData(arr); 
   
   
var field_newspwap_3 = new Ext.form.FieldSet({
	title : '用户角色分配',
	autoHeight : true,
	collapsible : true,
	id : 'field_newspwap_3',
     items : [{   
            layout : 'column',   
            defaults : {   
                hideLabels : true,   
                layout : 'form'  
            },   
            items : [{   
                columnWidth : .01  
            }, {   
                columnWidth : .33,   
                items : [
                     new Ext.form.ComboBox({ //combobox   
               		 fieldLabel:'ComboBox',   
               		 resiable:false,   
               		 handleHeight :100,  //   
              		  displayField:'key',   
              		  mode: 'local',   
               		 store:store   //数据储存到这个comboBox   
            })   ]   
            }, {   
                columnWidth : .33,   
                items : [  new Ext.form.Checkbox({     //checkbox   
                fieldLabel:'checkbox',   
                name:'cb',   
                checked:true,   
                boxLabel:'checkbox'  
            })  ]
            }, {   
                columnWidth : .33,   
                items : [new Ext.form.Checkbox({   
                    boxLabel : '风格',   
                    name : 'userRole.roleIdStr',   
                    inputValue : 12,   
                    checked : true   
                  //  disabled : true  
                })]   
            }]   
        }] 

});

var frm_newspwap = new Ext.FormPanel({
	margins : '5 5 5 5',
	id : 'frm_newspwap',
	frame : true,
	title : '新增用户',
	labelAlign : 'left',
	labelWidth : 160,
	region : 'center',
	autoScroll : true,
	//bodyStyle:'overflow-x:auto;',
	items : [field_newspwap_1,field_newspwap_3],
	buttonAlign : 'center',
    buttons: [{
	            text:'保存',
	            xtype : 'easyButton',
	            handler:function(){// 保存操作
				if (frm_newspwap.form.isValid() == false){
	    		    return;
	  		    }
	  		    frm_newspwap.form.submit({
	   		    url:'system/User/save.do',
	   		    success:function(form,action){
	   		          Ext.MessageBox.alert('提示',action.result.msg);
			          grid_pag.doLoad(0);
	 		       },
	 		     scope:this,
	 		     failure:function(form,action){
	 		          Ext.MessageBox.alert('错误',action.result.msg);
	   		       }
	  		     })
	   		    }
	     }] 
});

new Ext.Panel({
	renderTo : 'add_userdiv',
	width : Ext.get("add_userdiv").getWidth(),
	height : Ext.get("add_userdiv").getHeight(),
	border : false,
	layout : 'border',
	items : [frm_newspwap]
});

</script>
</head>
<body>
<div id="add_userdiv" style="width:100%;height:100%;"></div>
</body>


自己找到答案了。

var ds_duty_select = new Ext.data.Store({
	url : 'system/ZoneJson/getComboBoxList.do',
	reader : new Ext.data.JsonReader({root : 'root'},[{name : 'id'}, {name : 'name'}])
});

 
var combo_newspwap_sort = new Ext.form.ComboBox({ //本地下拉框
	//xtype : 'combo',
	fieldLabel : '权限类别',
	emptyText : '请选择...',
	//allowBlank : false,
	triggerAction : 'all',
	store : ds_duty_select,
	displayField :'s_name',
	hiddenName :'s_name',
	valueField : 'value', 
	mode : 'remote'
});
2010年5月26日 02:06
  • 大小: 2.4 KB
  • 大小: 26.2 KB

1个答案 按时间排序 按投票排序

0 0

当自动加载数据赋值不成功的时候,个别特别的组件你可以手动设置他的值

2010年6月02日 21:07

相关推荐

    ExtJS实现动态读写Checkboxgroup

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

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

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

    EXTJS checkbox赋值

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

    Extjs动态Grid的生成 htm

    Extjs动态Grid的生成 htm

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

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

    ExtJs4 Checkbox tree

    创建Checkbox Tree时,需要在TreePanel的配置项中指定`useCheckboxes`为`true`。此外,还可以通过`checked`属性来控制节点的默认选中状态,以及`enable三态`来启用三态复选(选中、未选中、部分选中)。 4. **数据...

    ExtJs动态grid的生成

    我们首先从标题"ExtJs动态grid的生成"开始,了解动态生成Grid的基本概念和实现方法。 动态生成Grid意味着在运行时根据需求创建和更新Grid组件,而不是在应用初始化时静态定义。这种灵活性允许开发者更好地响应数据...

    extjs 实现动态表头

    动态表头是ExtJS中一个高级特性,它允许开发者根据需要在运行时动态地创建和修改表格的列结构。这在处理数据展示和操作时具有很大的灵活性,尤其在数据字段不确定或需要自定义的情况下非常实用。 标题“extjs 实现...

    extjs desktop相关 动态生成开始菜单 多级菜单的快捷方式

    标题中的“ExtJS Desktop相关 动态生成开始菜单 多级菜单的快捷方式”涉及到的是一个使用ExtJS框架实现的桌面应用模拟系统,它能够创建类似Windows操作系统的开始菜单,并支持多级菜单结构来快速访问应用程序或功能...

    extjs动态生成model、store、panel

    extjs动态生成model、store、panel;sql拼接等多种技术难点

    ExtJs4.0 表单提交Demo

    - **配置表单行为**:为FormPanel设置action属性,指定提交的URL,或者在提交事件中动态设置。 - **监听提交事件**:使用`form.submit()`方法触发表单提交,传入一个包含回调函数的对象,处理成功和失败的情况。 ...

    EXTJS动态树支持checkbox 全选

    标题中的“EXTJS动态树支持checkbox全选”指的是EXTJS中树组件的一个特性,即在树形结构中添加复选框(checkbox)功能,并支持全选和全取消选中操作。这样的功能对于需要用户进行多项选择的场景非常有用,比如文件...

    extjs4.2 动态生成toolbar

    在 ExtJS 4.2 中实现动态生成 Toolbar,以满足 gridPanel 中动态生成带按钮及查询条件的工具栏的需求。本文将详细介绍如何实现动态生成 Toolbar,包括视图层、 Toolbar.js 和后台调用创建工具栏的方法。 视图层 在...

    ext checkboxgroup 回填数据解决

    重写 代码如下: //解决checkboxgroup回填数据问题 Ext.override(Ext.form.BasicForm,{ findField : function(id){ var field = this.items.get(id); if(!field){ this.items.each(function(f){ if(f.isXType(...

    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如何自动生成掌握grid的列显示、隐蔽的checkbox_.docx

    2. **创建CheckboxGroup**:基于获取到的信息,创建一个CheckboxGroup,并为每一列添加一个Checkbox。 3. **监听Checkbox事件**:为每个Checkbox添加监听器,当Checkbox的状态发生改变时,更新GridPanel中对应列的...

    ExtJs 动态添加表单

    在"动态添加表单"这个主题中,我们将深入探讨如何在ExtJS中实现表单的动态创建和管理。 首先,我们要理解表单(Form)在ExtJS中的基本概念。表单是数据输入和验证的核心组件,可以包含各种字段类型,如文本框、下拉...

    EXTJS修改颜色实例源码

    在提供的实例源码中,我们看到的是如何在 EXTJS 中修改颜色的示例,具体涉及到 EXTJS 的 FormPanel 和 ComboBox 组件,以及自定义事件处理。 1. **FormPanel**: - `Ext.form.FormPanel` 是 EXTJS 中用于创建表单...

    ExtJs代码自动生成

    - `CheckboxGroup`:复选框组,允许用户从多个复选框中选择一项或多项。 - `ComboBox`:下拉列表框,提供一个可展开的选项列表供用户选择。 - `DateField`:时间框,让用户选择日期或时间。 - `HtmlEditor`:富...

Global site tag (gtag.js) - Google Analytics