当前位置:编程学习 > JS >>

extjs 动态生成复选框

 

根据后台返回的json数据,动态生成复选框。

1、首先定义了存放复选框的fieldset

ElementCheckBox=Ext.extend(Ext.form.FieldSet,{

id:'_fieldset',

constructor:function(){

ElementCheckBox.superclass.constructor.call(this,{

layout:'column',

xtype:'checkboxgroup',

title:'统计元素'

});

}

});

2、动态生成checkbox,添加到fieldset

function generateCheckbox(){

//采用同步请求方式

var conn = Ext.lib.Ajax.getConnectionObject().conn;

conn.open("GET", 'findAllTjzdbm.do',false);

conn.send(null);

var result=Ext.util.JSON.decode(conn.responseText);

           //或者Ext.decode (conn.responseText);

for(int i=0;i<result.length;i++){

          var _checkbox=new  Ext.form.Checkbox({   

                    id:"addboxModule"+i,               

                    name:"userModule",

                    boxLabel : result[i].tjzdmc,                  

                      inputValue : result[i].tjzdbm

          });

          if(result[i].tjzdbm=='OD_RANGE'){//OD范围必选

            _checkbox.checked=true;

          }

          Ext.getCmp('_fieldset').add(_checkbox);

                     

  }

}

3、调用generateCheckbox()方法

说明:

1、缺点是生成的每个checkbox都是紧挨着排列的,想要中间能有间隔的排列,目前没有  找到方法,若哪位大侠知道,还望指点

2、采用同步请求需导入js文件

 

 

作者:zuyali

补充:web前端 , JavaScript ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,