JS对CHECKBOX的操作

/**
* 全选的所有指定名称的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<inputs.length;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;
}
oElemoElemoElem = 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<cells.length;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 valuevaluevalues = 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
*<option value="0"></option>
*<option value="1"></option>
*调用这个方法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;
}
}

}

 

 

 

JS实现CheckBox多项选择值传递

<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>多项选择</title>
</head>

<body>
<center>
<table width="460" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td>
 <form name="ck" Method="" action="">
<input type="hidden" name="allchecked"><!--用于賦值-->
全选:<input type="checkbox" id="checkAll"&#111nclick="checkall()" />
多项选择框列表:
<input type="checkbox" name="cb" &#118alue="1"/>
<input type="checkbox" name="cb" &#118alue="2"/>
<input type="checkbox" name="cb" &#118alue="3"/>
<input type="checkbox" name="cb" &#118alue="4"/>
<input type="checkbox" name="cb" &#118alue="5"/>
<input type="checkbox" name="cb" &#118alue="6"/>
<input name="Submit" type="button" &#118alue="提交" &#111nclick="notcheckall()">
</form>
 </td>
  </tr>
</table>
</center>

<script language="&#106avascript">
//全选或全部不选
function checkall(){
 var isChecked;
 if(document.ck.checkAll.checked==true)
  {
   isChecked=true;
   var elements=document.ck.elements;
   var counter=elements.length;
   var seltext=""; //定义变量存储所有选择项
   for(i=2;i<counter;i++){
     var element=elements[i];
     if(element.type=="checkbox"){
     element.checked=isChecked;
     seltext = seltext+element.&#118alue+","; //进行连接
    }
   }
   document.ck.allchecked.&#118alue = seltext.substr(0,seltext.length-1); //将值赋给form中的allchecked控件
   alert(document.ck.allchecked.&#118alue);
  }
 if(document.ck.checkAll.checked==false)
 {
  isChecked=false;
  var elements=document.ck.elements;
  var counter=elements.length;
  for(i=0;i<counter;i++){
    var element=elements[i];
    if(element.type=="checkbox"){
     element.checked=isChecked;
    }
   }
   document.ck.allchecked.&#118alue="";
   alert(document.ck.allchecked.&#118alue);
 }
}
 
//选择部分
function notcheckall(){
 var elements=document.ck.elements;
 var counter=elements.length;
 var seltext="";
 for(i=0;i<counter;i++){
  var element=elements[i];
  if((element.type=="checkbox")&&(element.checked==true)){
  seltext = seltext+element.&#118alue+","; //这是jscript中的变量而已
  }
 }
 document.ck.allchecked.&#118alue = seltext.substr(seltext,seltext.length-1);//賦值
 alert(document.ck.allchecked.&#118alue);
}
</script>
</body>
</html>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值