1、checkbox跟radio的js:
/** * 全选的所有指定名称的checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@author fangtf *@type void */ function selectAll(state,name) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { ids[i].checked = state; } } /** * 全选的所有指定id名称的同名checkbox *@state 全选的checkbox的状态 *@name 表格中的所有checkbox的名称 *@name 表格中的所有checkbox的id *@author fangtf *@type void */ function selectAllCheckboxByID(state,name,id) { var ids = document.getElementsByName(name); for (var i = 0; i < ids.length; i++) { if(ids[i].id == id) { ids[i].checked = state; } } } /** * 全选页面上所有的checkbox *@state 全选的checkbox的状态 *@author fangtf *@type void */ function selectAlls(state) { var inputs = document.getElementsByTagName("input"); for(var i =0;i { if(inputs[i].type == "checkbox") { inputs[i].checked =state; } } } /** *得到鼠标所单击的行 *@type Object */ function GetRow(oElem) { while (oElem) { if (oElem.tagName.toLowerCase() == "tr" && oElem.parentElement.tagName.toLowerCase() == "tbody") { return oElem; } if (oElem.tagName.toLowerCase() == "table" || oElem.tagName.toLowerCase() == "th") { return false; } oElemoElem = oElem.parentElement; } } /** * 全选当前行的checkbox *@state 全选的checkbox的状态 *@author fangtf *@type void */ function selectRowCheckbox(state) { var row = GetRow(window.event.srcElement); var cells = row.childNodes; for(var i=0;i { var cell = cells[i].childNodes[0]; if(cell.tagName == "INPUT") { cell.checked = state; } } } /** *选中指定值的Radio *如:有两个radio, *第一个的name="ids",value="1" *第二个的name="ids",value="2" *调用方法selectRadio("ids","1"); *那么数值为1的Radio将被选中 *@name radio的名称 *@value radio的值 *@author fangtf *@type void */ function selectRadio(name,value) { var radioObject = document.getElementsByName(name); if(value === "") { radioObject[0].checked = true; return; } for (var i = 0; i < radioObject.length; i++) { if(radioObject[i].value == value) { radioObject[i].checked = true; break; } } } /** *选中指定值的checkbox *如:有两个checkbox, *第一个的name="ids",value="1" *第二个的name="ids",value="2" *第三个的name="ids",value="3" *调用这个方法selectCheckbox("ids","1,2")那么数值为1,2的checkbox将被选中 * *@name 要选中的checkbox数组的名称 *@value 判断时候选中的值 *@author fangtf *@type void */ function selectCheckbox(name,value) { var checkObject = document.getElementsByName(name); var valuevalues = value.split(","); for(var j = 0; j < values.length; j++) { for (var i = 0; i < checkObject.length; i++) { if(checkObject[i].value == values[j]) { checkObject[i].checked = true; break; } } } } /** *选中指定值的select *如:有一个名称为user的select * * *调用这个方法selectOption("user","0")那么选项为0的选项就被选中 * *@name String select的名称 *@value String 判断时候选中的值 *@author fangtf *@type void */ function selectOption(name,value) { var options = document.getElementsByName(name)[0].options; for (var i = 0; i < options.length; i++) { if(options[i].value === value) { options[i].selected = true; break; } } }
2、获取checkbox的值:
你可以先得到表的行
vat tr = window.event.srcElement;//或则其他能得到行的函数
然后var cks = tr.getElementsByTagName("checkbox");
如果每行仅有一个checkbox,那么cks[0]就是你想要的,再获得其ID就可以了cks[0].id;
3、获取复选框的下值:
<html> <head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>222222 </title> </head> <body> <table border="1" style="border-collapse: collapse" width="45%" height="29" id="table1"> <tr> <td> <input type="checkbox" name="C1" value="ON"> </td> <td>222222 </td> <td>222 </td> </tr> <tr> <td> <input type="checkbox" name="C2" value="ON"> </td> <td>233323 </td> <td>1111 </td> </tr> <tr> <td> <input type="checkbox" name="C3" value="ON"> </td> <td>123123 </td> <td>1222 </td> </tr> </table> <input type="button" οnclick="readArray()" value="取得表格值"> <script> //使用数组取得表格值 function getRowText() { var arr = new Array(); var count = 0; for(var i=0;i <table1.rows.length;i++) { var row = table1.rows[i]; //取得CHECKBOX var objCheck = row.cells[0].getElementsByTagName("INPUT")[0]; //如果CHECKBOX被选中.添加到二维数组 if(objCheck!=null && objCheck.checked) { //arr[i]= row.innerText ; arr[count] = new Array(); for(var x=0;x <row.cells.length;x++) { //不计单选框的单元格内容 if(x==0) continue; arr[count][x-1] = row.cells[x].innerText; } count++; } } return arr; } //读取表格值 function readArray() { var arr = getRowText(); for(var i=0;i <arr.length;i++) { //取得每一行的值 for(var x= 0;x <arr[i].length;x++) { document.write(arr[i][x]); } } } </script> </body> </html>