Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使复选框有效_Javascript_Php_Jquery - Fatal编程技术网

Javascript 如何使复选框有效

Javascript 如何使复选框有效,javascript,php,jquery,Javascript,Php,Jquery,在我的项目中,$('#cenDiv').html(数据)可以在ajax中成功工作。然后我想点击sellallattid的复选框,然后做一些事情 如果我使用onclick=“seallatt()”,并且seallatt()方法可以成功调用,但是$(this)。attr(“checked”)总是在完成seallatt()方法后变为true,因此$(this)。attr(“checked”)总是为false,而警报(“checked”)总是无法工作 所以我想用$('#sellallattid')改变另

在我的项目中,
$('#cenDiv').html(数据)
可以在
ajax
中成功工作。然后我想点击
sellallattid
的复选框,然后做一些事情

如果我使用
onclick=“seallatt()”
,并且
seallatt()
方法可以成功调用,但是
$(this)。attr(“checked”)
总是在完成
seallatt()
方法后变为true,因此
$(this)。attr(“checked”)
总是为false,而
警报(“checked”)
总是无法工作

所以我想用
$('#sellallattid')改变另一种方式。在(“change”,function(){})
上,但不幸的是,
警报(“test”)
无法工作。谁能帮我

以下是js代码:

<script>
$(document).ready(function()
{ 
 $('#selAllAttId').on("change",function(){
  alert("test");//can not work
  });
});


function corpAnn()
{   
 $.ajax({
        dataType:'html',
        type:"POST",
        url:"oat.php",
        data: {oaAnn:oaAnn},
        success:function(data)
        {
            $('#cenDiv').html(data);
        }
      });     
}

 function selAllAtt(){
  alert("checkbox");
  var xzyId=document.getElementById('xzyId');//fetch other table id
  var checked=xzyId.getElementsByTagName('input');//fetch all table checkbox successfully
  if($(this).attr("checked"))//always false.          
  {
    alert("checked");
    for(i=0;i<checked.length;i++)
    {
      checked[i].checked=true;
    }
  }
  else
  {
   alert("delete");
   for(i=0;i<checked.length;i++)
   {
    checked[i].checked=false;
   } 
  }
});
</script>

<div id="cenDiv"></div>

$(文档).ready(函数()
{ 
$('#sellallattid')。on(“change”,function(){
警报(“测试”);//无法工作
});
});
函数corpAnn()
{   
$.ajax({
数据类型:'html',
类型:“POST”,
url:“oat.php”,
数据:{oaAnn:oaAnn},
成功:功能(数据)
{
$('#cenDiv').html(数据);
}
});     
}
函数sellalatt(){
警告(“复选框”);
var xzyId=document.getElementById('xzyId');//获取其他表id
var checked=xzyId.getElementsByTagName('input');//成功获取所有表复选框
if($(this.attr(“checked”)//始终为false。
{
警报(“已检查”);

对于(i=0;i您可以使用本机HTML节点,如下所示:

var checkbox = document.getElementById('selAllAttId');
if(checkbox.checked)          
{
  // do something
}else{
 // do something else
}

this
不是您想象的那样。由
onclick
调用的函数没有任何与元素相关的特殊
this
上下文。请停止使用
onclick
并使用现代的不引人注目事件listeners@charlietfl,我测试了$(这个).checked,但再次失败
与发生onclick的元素无关。建议您学习一些有关javascript用户的教程events@charlietfl,你能给我看一下$('sellallattid')的代码吗?在(“change”,function(){})上,使用这种方法,然后
这个
就是元素…使用
prop()
而不是
attr()
返回一个布尔值,非常感谢
var checkbox = document.getElementById('selAllAttId');
if(checkbox.checked)          
{
  // do something
}else{
 // do something else
}