尽管dijit.form.CheckBox很好用,但是我们为了更便捷的使用,对其又进行了封装,将其封装为CheckBoxFiled,以下是简单的Code,更深层的封装Code,将不在这里展示。
dojo.provide(
"com.itccxx.common.dijit.form.field.CheckBoxField"
);
dojo.require(
"com.itccxx.common.dijit.form.field.CheckField"
);
dojo.declare(
"com.itccxx.common.dijit.form.field.CheckBoxField"
,com.ibm.ecm.nuclear.common.dijit.form.field.CheckField,{
});
如上,是我们封装完毕的一个CheckBoxField,在这里请读者不要进行过多的考虑,就将其当做一个普通的CheckBox即可,我们封装CheckBox也仅仅是我们更方便的使用CheckBox的某些属性。
当我们有了CheckBoxField原型之后,我们就要开始使用代码动态生成CheckBox。当我们需要动态创建CheckBoxField的时候,往往需要不止一个,因为我们需要遍历的来创建这些CheckBoxField,以下是创建所需Field的源码。
_loadCheckBoxByService :function(){
varsubclasses = itemSet.get("items")[0].get("itemJSON").subclasses;
if(subclasses) {
dojo.forEach(subclasses,function(subclass) {
this.createCheckBox(subclass);
}
}
createCheckBox :function(subclass){
varchkBox =newcom.ibm.ecm.nuclear.common.dijit.form.field.CheckField({
checked:false,
label : subclass.label,
symbolicName : subclass.symbolicName,
style: {
display :"inline-block"
},
title :subclass.value
});
chkBox.placeAt(this.childDocLib);
chkBox.startup();
}
当我们动态创建完CheckBoxField之后,就需要将CheckBox挂到相应的节点上。chkBox.placeAt()将这些CheckBoxField挂到相应的Div上。如下是存放CheckBoxField的HTML。
<divdata-dojo-attach-point="childDocLib"></div>
我们是以动态创建CheckBoxField为例进行说明的,如果需要动态创建CheckBox,可以直接参照createCheckBox进行创建。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。