checkbox状态变化

 <table >
<caption>复选框的三种状态</caption>
<tr><td bgcolor="red"><input type="checkbox" name="a" οnclick="check()"></td></tr>
<tr><td><input type="checkbox" name="c" οnclick="check_ss('a','c')"></td></tr>
<tr><td><input type="checkbox" name="c" οnclick="check_ss('a','c')"></td></tr>
<tr><td><input type="checkbox" name="c" οnclick="check_ss('a','c')"></td></tr>
<tr><td><input type="checkbox" name="c" οnclick="check_ss('a','c')"></td></tr>
</table>

 

<script>
//复选框状态变化
function check_ss(aa,cc)
{
  var a = document.getElementsByName(aa);
  var c = document.getElementsByName(cc);
  var tmp1 = true, tmp2 = false
  for(var i=0;i<c.length;i++)
  tmp1 &= c[i].checked, tmp2 |= c[i].checked;
  a[0].checked = tmp1;
  a[0].indeterminate = !tmp1 && tmp2;
}

方法一
 function check()
{
 var a = document.getElementsByName("a");
 var cc = document.getElementsByName("c");
 for(var i=0;i<cc.length;i++)
 cc[i].checked=a[0].checked;
}

方法二(笨笨的)

//全选
function check_all(box){
  t_box = document.all[box];
  var length = t_box.length;
  for(var i=0;i<length;i++){
   t_box[i].checked=true;
  }
 }
//反选
function check_anti(box){
 t_box = document.all[box];
 var length = t_box.length;
 for(i=0;i<length;i++){
  if(true==t_box[i].checked){
   t_box[i].checked=false;
   }
  else
   t_box[i].checked=true;
  }
 }

//方法三

function mp_checkForm(allcheck,checked)
{
 flag = false;
 var all_check = document.all[allcheck];
 var checkButton = document.all[checked];
 if(checkButton == null || checkButton==undefined || checkButton.length == 0)
 {
  return false;
 }
 if(all_check.checked)
 { 
  if(typeof(checkButton.checked)=="boolean")
  {
   checkButton.checked=true;
  }
  else
  {
   for(var i=0;i<checkButton.length;i++)
   {
    checkButton[i].checked=true;
   }
  }
 }
 else
 {
  if(typeof(checkButton.checked)=="boolean")
  {
   checkButton.checked=false;
  }
  else
  {
   for(var i=0;i<checkButton.length;i++)
   {
    checkButton[i].checked=false;
   }
  }
 }
}
</script>

(第三种状态仅适用于IE内核的浏览器,opera未测试)

getElementsByName该属性只适用于表单内标签。

在相同name的复选框不止一个时也可使用document.all["checkname"],但是只有一个复选框时用all会报错。第二、三种方法有bug

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要改变复选框的状态,可以使用 JavaScript 中的 `checked` 属性。例如,假设我们有一个 HTML 复选框元素: ```html <input type="checkbox" id="myCheckbox"> ``` 我们可以使用以下代码来将其选中或取消选中: ```javascript // 选中复选框 document.getElementById("myCheckbox").checked = true; // 取消选中复选框 document.getElementById("myCheckbox").checked = false; ``` 如果想要切换复选框的状态,可以使用以下代码: ```javascript // 切换复选框状态 document.getElementById("myCheckbox").checked = !document.getElementById("myCheckbox").checked; ``` ### 回答2: 要改变checkbox状态,可以通过以下步骤: 1. 获取checkbox元素:首先要找到checkbox的HTML元素,可以通过getElementById、getElementsByClassName等方法来获取,或者使用jQuery的选择器来获取。 2. 监听事件:为了能够实时监听checkbox变化,需要给checkbox添加一个onclick事件监听器。 3. 改变状态:在事件的回调函数中,通过修改checkbox的checked属性来改变checkbox状态。例如,如果checkbox状态是选中的,则将其checked属性设置为false,取消选中;反之,如果checkbox状态是未选中的,则将其checked属性设置为true,选中。 示例代码如下: HTML部分: ```html <input type="checkbox" id="myCheckbox">改变checkbox状态</input> ``` JavaScript部分: ```javascript var myCheckbox = document.getElementById("myCheckbox"); // 获取checkbox元素 myCheckbox.onclick = function() { // 添加onclick事件监听器 if (myCheckbox.checked) { // 如果checkbox已选中 myCheckbox.checked = false; // 取消选中 } else { // 如果checkbox未选中 myCheckbox.checked = true; // 选中 } }; ``` 以上代码实现了点击checkbox时,切换checkbox的选中状态。 ### 回答3: 要改变checkbox状态,我们可以通过以下几种方式实现。 第一种方法是使用JavaScript来操作checkbox状态。我们可以通过getElementById()方法获取到checkbox的元素,并使用checked属性来改变它的状态。当我们将checked属性设置为true时,checkbox将被选中,而当设置为false时,checkbox将不被选中。通过在JavaScript代码中使用这种方式,我们可以根据需要来改变checkbox状态。 第二种方法是通过HTML的属性来改变checkbox状态。在HTML中,我们可以使用checked属性来设置checkbox状态。当我们在checkboxinput标签中添加checked属性时,checkbox将被选中,而没有该属性时,checkbox将不被选中。通过在HTML代码中使用这种方式,我们可以直接改变checkbox的初始状态。 第三种方法是使用CSS来改变checkbox的样式,从而改变其状态的外观。通过给checkbox添加不同的样式,我们可以呈现不同的状态效果,例如选中状态和未选中状态。我们可以使用CSS的伪类选择器来为checkbox设置不同的样式,并通过hover、active等状态来改变其外观。 总而言之,要改变checkbox状态,我们可以使用JavaScript、HTML的属性或CSS来实现。通过这些方式,我们可以改变checkbox的选中状态或外观,以适应不同的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值