js动态加载复选框checkbox(XML串)

15410年前 (2015-09-22)javaScript3767

 

首先,使用JS动态产生Checkbox可以采用如下类似的语句:

代码如下:
var checkBox=document.createElement("input");
checkBox.setAttribute("type","checkbox");
checkBox.setAttribute("id",'123456');

但是,这样产生的checkbox是不带尾后的文字的,如果需要添加,那么需要使用
document.createTextNode('XXX')
方法来产生一个文本节点,放在checkbox后面。

 

如下代码,程序产生了一个checkbox和一个文本节点,并将它们放到一个li对象中,再将li对象添加到ul对象中:

代码如下:

   var executerDiv=$("executerDiv");
   executerDiv.innerHTML="";
   var ul=document.createElement("ul");

 

for(var i=0;i<tableDatas.length;i++){
       var arr=tableDatas[i];

       // 加入复选框
       var checkBox=document.createElement("input");
       checkBox.setAttribute("type","checkbox");
       checkBox.setAttribute("id",arr[0]);
       checkBox.setAttribute("name", arr[1]);

       var li=document.createElement("li");
       li.appendChild(checkBox);        
       li.appendChild(document.createTextNode(arr[1]));

       ul.appendChild(li);        
   }    

   executerDiv.appendChild(ul);


以上代码中,将checkbox放到li和ul中,这样能起到良好的排列效果,UL和li设置的CSS样式如下:

代码如下:

   #executerDiv{
   }

   #executerDiv ul{
       margin:0px;
       padding:0px;
       list-style-type:none;
       vertical-align:middle  ;
   }

   #executerDiv li{
       float:left;
       display:block;

       width:100px;  
       height:20px;
       line-height:20px;

       font-size:14px;  
       font-weight:bold;          
       color:#666666;

       text-decoration:none;
       text-align:left;  

       background:#ffffff;
   }

实例js方法:

    function drawCheckBox(oSelect, oNode, sValue, sText) {
 alert(oSelect);
 if (oSelect == null) {
  return -1;
 }
 if (oNode == null) {
  return -2;
 }
 if (sValue == null) {
  return -3;
 }
 if (sText == null) {
  return -4;
 }  
   //清空原有选项  
  
 oSelect.innerHTML="";
   //根据xml节点列表的内容构造下拉框选项  
 var childs = oNode.childNodes;
 var obj;
 var idx = -1;
    var ul=document.createElement("ul");
 for (var i = 0; i < childs.length; i++) {
  var child = childs.item(i);
  var value = child.selectSingleNode(sValue).text;
  var text = child.selectSingleNode(sText).text;
  alert('value=='+value);
  alert('text=='+text);
  obj = document.createElement("input");
  //obj.type="checkbox";  
  obj.setAttribute("type","checkbox");  
  obj.setAttribute("id",'box'+i);
  obj.setAttribute("name",'box');
  obj.value = value;
  obj.text = text;
  obj.title = text;
  oSelect.appendChild(obj);
  var li=document.createElement("li");
        li.appendChild(obj);       
        li.appendChild(document.createTextNode(text));
        ul.appendChild(li);  
 }
  oSelect.appendChild(ul);
 return 1;
}

 

HTML部分:

<tr>
    <td align="right" class="sec2">
     对应取票方式  </td>
    <td id="qpfs">
    </td>
   </tr>

 

js赋值部分:

else if(method =="getQpfs") {
             alert(http_text);
             var oNodeNsr = xmlDoc.getElementsByTagName("ROW");
        if(oNodeNsr!=null){
        //获得变更项目的数据岛
                      DSO_SJSWJG.removeChild(DSO_SJSWJG.documentElement);
                      DSO_SJSWJG.appendChild(xmlDoc.selectSingleNode("//ROWSET"));
                      drawCheckBox(document.getElementById('qpfs'), DSO_SJSWJG.selectSingleNode("/ROWSET"), "DM", "MC");
                    }
       }

 

 

 

 

 

本文原创,转载必追究版权。

分享给朋友:

相关文章

freeMarker 截取字符串(操作字符串函数 )

<#if c.proSummary!?length gt 25>  <!-- 如果长度 >25 截取25个字-->    ...

js/jquery 实现点击图片更换头像(图片)实例

    总之一句话, 可以先将 file类型 的input 隐藏 起来,通过 图片(头像)的onclick事件 来触发 file 的onclick事件。1.引入外部js:...

jquery 操作html元素(及CSS)

jquery 操作html元素(及CSS)

 $("li").addClass("aui-user-view-cell aui-img") ;  //给元素添加样式$('#a1...

js控制文本域textarea 剩余可填字符显示

Html部分:<span class="remo"><div>还可以输入<span style="font-family: Georgia;...

UUID 生成方法

import java.util.UUID;/**     * UUID 生成方法     * @return uuid &nbs...

Jfinal +百度WebUploader组件实现多图片上传实例

Jfinal +百度WebUploader组件实现多图片上传实例

百度 Web Uploader文档的getting-started文档说明太简单,没有写全,在这里给大家补全($list会报没有定义,文档中确实没给定义)效果:有用部分外部jar包jfinal-2.0...

评论列表

点我收录您
9年前 (2015-10-15)

这个用途很广泛

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。