Extjs 4.2 动态加载checkboxgroup

List<Risinstrumenttype> instrulist = Webimpl.getInstance().queryInstrumenttype();
String type = JsonUtil.list2json(instrulist);
json = "{items:" + type + "}";
//System.out.println(json);
response.getWriter().write(json);
{items:[{"typeid":"1001","typename":"CT"},{"typeid":"1001","typename":"CT"}]}

 

前台的代码!json

Ext.Ajax.request({
    url: 'showinstrument.do',//请求的地址。
    callback: function(options, success, response) {
        if (success === true) {
            var obj = eval("(" + response.responseText + ")");
            //拼接checkbox子项目
            var checkboxitems = "";
            for (var i = 0; i < obj.items.length; i++) {
                if (checkboxitems !== "")
                    checkboxitems += ",";
                else
                    checkboxitems += "[";
                var typename = obj.items[i].typename;
                var checkboxSingleItem = "{boxLabel:'" + typename + "',name:'instrumentkind',inputValue:'" + typename + "'";

           checkboxSingleItem += "}";
//                    alert(checkboxSingleItem);
                 checkboxitems += checkboxSingleItem;
            }
            checkboxitems += "]";
//                alert(checkboxitems);
            var itemsGroup = new Ext.form.CheckboxGroup({
                x: 10,
                y: 120,
                width: 845,
                fieldLabel: '种类',
                id: 'instrumentkind',
                disabled: true,
                labelWidth: 70,
                items: eval(checkboxitems)
            });

            Ext.getCmp('form1').add(itemsGroup); //这个是根据ID,添加到你想要显示的那个from下。
            Ext.getCmp('form1').doLayout();//好象是,从新刷新那个form,原理我也不清楚。

        }
    }
});
相关文章
相关标签/搜索