02
2012
05

js实现多个Checkbox的选择

============================================

  1. /**      
  2. * 全选的所有指定名称的checkbox     
  3. *@state 全选的checkbox的状态     
  4. *@name   表格中的所有checkbox的名称     
  5. *@author fangtf     
  6. *@type void     
  7. */      
  8. function selectAll(state,name) {      
  9.     var ids = document.getElementsByName(name);      
  10.     for (var i = 0; i < ids.length; i++)       
  11.     {             
  12.             ids[i].checked = state;      
  13.     }      
  14. }      
  15.      
  16. /**      
  17. * 全选的所有指定id名称的同名checkbox     
  18. *@state 全选的checkbox的状态     
  19. *@name   表格中的所有checkbox的名称     
  20. *@name   表格中的所有checkbox的id     
  21. *@author fangtf     
  22. *@type void     
  23. */      
  24. function selectAllCheckboxByID(state,name,id) {      
  25.     var ids = document.getElementsByName(name);      
  26.     for (var i = 0; i < ids.length; i++)       
  27.     {             
  28.             if(ids[i].id == id)      
  29.             {      
  30.                 ids[i].checked = state;      
  31.             }      
  32.                   
  33.     }      
  34. }      
  35.      
  36. /**      
  37. * 全选页面上所有的checkbox     
  38. *@state 全选的checkbox的状态     
  39. *@author fangtf     
  40. *@type void     
  41. */      
  42. function selectAlls(state)       
  43. {      
  44.     var inputs = document.getElementsByTagName("input");      
  45.     for(var i =0;i
  46.     {      
  47.         if(inputs[i].type == "checkbox")      
  48.         {      
  49.             inputs[i].checked =state;       
  50.         }      
  51.     }      
  52.      
  53. }      
  54.      
  55. /**     
  56. *得到鼠标所单击的行     
  57. *@type Object     
  58. */      
  59. function GetRow(oElem) {      
  60.     while (oElem) {      
  61.         if (oElem.tagName.toLowerCase() == "tr" && oElem.parentElement.tagName.toLowerCase() == "tbody") {      
  62.             return oElem;      
  63.         }      
  64.         if (oElem.tagName.toLowerCase() == "table" || oElem.tagName.toLowerCase() == "th") {      
  65.             return false;      
  66.         }      
  67.         oElemoElem = oElem.parentElement;      
  68.     }      
  69. }      
  70.      
  71. /**      
  72. * 全选当前行的checkbox     
  73. *@state 全选的checkbox的状态     
  74. *@author fangtf     
  75. *@type void     
  76. */      
  77. function selectRowCheckbox(state)      
  78. {      
  79.   var row = GetRow(window.event.srcElement);      
  80.   var cells = row.childNodes;       
  81.   for(var i=0;i<>
    用js实现了点击按扭或点击Checkbox完成多个Checkbox的选择
    js 代码
    1. function clickButtonForSelectAllCheckBox(allCheckBox)   
    2.   {   
    3.     var boxs = document.getElementsByName(allCheckBox);   
    4.     var isAllSelected = true;   
    5.     for (i = 0; i < boxs.length; i++) {   
    6.       if (boxs[i].checked == false) {   
    7.         isAllSelected = false;   
    8.       }   
    9.     }   
    10.     for (i = 0; i < boxs.length; i++) {   
    11.       boxs[i].checked = !isAllSelected;   
    12.     }   
    13.   }   
    14.   
    15. function clickCheckBoxForSelectAllCheckBox(clickCheckBox, allCheckBox)   
    16.   {   
    17.     var box = document.getElementsByName(clickCheckBox)[0];   
    18.     var boxs = document.getElementsByName(allCheckBox);   
    19.     for (i = 0; i < boxs.length; i++) {   
    20.       boxs[i].checked = box.checked;   
    21.     }   
    22.   }  

    jsp页面的js

    js 代码

     

    1. "javascript">   
    2.   function checkAllCheckBox()   
    3.   {   
    4.     var flag = false;   
    5.     var projects = document.getElementsByName("typeIds");   
    6.     for (i = 0; i < projects.length; i++) {   
    7.       if (projects[i].checked == true) {   
    8.         flag = true;   
    9.       }   
    10.     }   
    11.     if (flag == false) {   
    12.       alert("请选择要删除的项");   
    13.     }   
    14.     else {   
    15.       if (!confirm("确定要删除吗")) {   
    16.         flag = false;   
    17.       }   
    18.     }   
    19.     return flag;   
    20.   }  
    1. <td class="td1">  
    2.       <input type="checkbox" name="selectAllCheckBox"  
    3.              onclick="return clickCheckBoxForSelectAllCheckBox('selectAllCheckBox', 'typeIds')"/>  
    4.  td>  
    5.   
    6. <logic:iterate id="contenttype" name="contentTypeBean"  
    7.                  property="contentTypeList">  
    8.     <tr class="contenttr">  
    9.       <td class="td1">  
    10.         <html:checkbox property="typeIds" value="${contenttype.id}"/>  
    11.       td>  
    12.    tr>  
    13. logic:iterate>  
    xml 代码
     
    beanAction中的代码
    java 代码
    1. public class ContentTypeBean   
    2.     extends AbstractBeanAction   
    3. {   
    4. private Long[] typeIds;   
    5. .....   
    6.   
    7.   
    8. public String deleteContentType() throws ContentTypeException, AttributeException   
    9.     {   
    10.         ActionMessages errors = new ActionMessages();   
    11.         for (int i = 0; i < typeIds.length; i++) {   
    12.             long typeId = typeIds[i];   
    13.             getContentTypeManager().removeContentType(typeId);   
    14.         }   
    15.         return SUCCESS;   
    16.     }   
    17.   
  82.   {      
  83.       var cell = cells[i].childNodes[0];      
  84.      if(cell.tagName == "INPUT")      
  85.      {      
  86.         cell.checked = state;      
  87.      }      
  88.   }      
  89. }      
  90.      
  91. /**      
  92. *选中指定值的Radio     
  93. *如:有两个radio,     
  94. *第一个的name="ids",value="1"    
  95. *第二个的name="ids",value="2"    
  96. *调用方法selectRadio("ids","1");     
  97. *那么数值为1的Radio将被选中     
  98. *@name radio的名称     
  99. *@value radio的值     
  100. *@author fangtf     
  101. *@type void     
  102. */      
  103. function selectRadio(name,value) {      
  104.     var radioObject = document.getElementsByName(name);      
  105.     if(value === "")      
  106.     {      
  107.         radioObject[0].checked = true;      
  108.         return;      
  109.     }      
  110.     for (var i = 0; i < radioObject.length; i++)       
  111.     {      
  112.         if(radioObject[i].value == value)      
  113.         {      
  114.             radioObject[i].checked = true;      
  115.             break;      
  116.         }      
  117.               
  118.     }      
  119. }      
  120.      
  121. /**      
  122. *选中指定值的checkbox     
  123. *如:有两个checkbox,     
  124. *第一个的name="ids",value="1"    
  125. *第二个的name="ids",value="2"    
  126. *第三个的name="ids",value="3"    
  127. *调用这个方法selectCheckbox("ids","1,2")那么数值为1,2的checkbox将被选中     
  128. *                     
  129. *@name 要选中的checkbox数组的名称     
  130. *@value 判断时候选中的值     
  131. *@author fangtf     
  132. *@type void     
  133. */      
  134. function selectCheckbox(name,value) {      
  135.     var checkObject = document.getElementsByName(name);      
  136.     var valuevalues = value.split(",");      
  137.     for(var j = 0; j < values.length; j++)      
  138.     {      
  139.         for (var i = 0; i < checkObject.length; i++)       
  140.         {      
  141.             if(checkObject[i].value == values[j])      
  142.             {      
  143.                 checkObject[i].checked = true;      
  144.                 break;      
  145.             }      
  146.         }      
  147.     }      
  148.           
  149. }      
  150.      
  151. /**      
  152. *选中指定值的select     
  153. *如:有一个名称为user的select     
  154. *    
  155. *    
  156. *调用这个方法selectOption("user","0")那么选项为0的选项就被选中     
  157. *                    
  158. *@name  String  select的名称     
  159. *@value String  判断时候选中的值     
  160. *@author fangtf     
  161. *@type void     
  162. */      
  163. function selectOption(name,value)      
  164. {      
  165.     var options = document.getElementsByName(name)[0].options;      
  166.     for (var i = 0; i < options.length; i++)       
  167.     {      
  168.         if(options[i].value === value)      
  169.         {      
  170.             options[i].selected = true;       
  171.             break;      
  172.         }      
  173.     }      
  174.      
  175. }
  176. /**       
  177. * 全选的所有指定名称的checkbox,并改变相应改变按钮    
  178. *@selectName checkbox的名称      
  179. *@buttonName   按钮的名称  
  180. *@author seagar      
  181. *@type void      
  182. */     
  183. function selectAll(selectName,buttonName) {     
  184.     var ids = document.getElementsByName(selectName);   
  185.     var buttons=document.getElementsByName(buttonName);   
  186.     for (var i = 0; i < ids.length; i++){   
  187.             if(ids[i].checked==true){   
  188.                 ids[i].checked=false;   
  189.                 buttons[0].value="全部选择";   
  190.             }else{   
  191.                 ids[i].checked=true;   
  192.                 buttons[0].value="全部取消";   
  193.             }   
  194.     }   
  195. }
« 上一篇下一篇 »

发表评论:

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