Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.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
ajax javascript复选框更改不起作用_Java_Javascript_Php_Ajax_Jquery - Fatal编程技术网

ajax javascript复选框更改不起作用

ajax javascript复选框更改不起作用,java,javascript,php,ajax,jquery,Java,Javascript,Php,Ajax,Jquery,如果复选框被选中或未被选中,我将使用以下ajax javascript来传递值,我面临的问题是,它只对mysql fetch aray中的第一行起作用,而对于其余结果,它总是发送checkboxstatus=1作为结果,无论chekbox是否被选中。代码如下: <script> $(document).ready(function(e) { $('input[name=status]').change(function(){ if( $('input[name=sta

如果复选框被选中或未被选中,我将使用以下ajax javascript来传递值,我面临的问题是,它只对mysql fetch aray中的第一行起作用,而对于其余结果,它总是发送checkboxstatus=1作为结果,无论chekbox是否被选中。代码如下:

<script>
 $(document).ready(function(e) {
   $('input[name=status]').change(function(){
    if( $('input[name=status]').prop('checked') )
       {checkboxstatus = '1';}
       else
       {checkboxstatus = '0';}
        var idm = $(this).attr('idm');
        $.ajax({
        type: "POST",
        url: "checkboxtestbackend.php",
        data: {"checkboxstatus": checkboxstatus,
        "idm":idm 
       },
        })        
        .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
    });//end change
  });//end ready
</script>

$(文档).ready(函数(e){
$('input[name=status]')。更改(函数(){
if($('input[name=status]').prop('checked'))
{checkboxstatus='1';}
其他的
{checkboxstatus='0';}
var idm=$(this.attr('idm');
$.ajax({
类型:“POST”,
url:“checkboxtestbackend.php”,
数据:{“checkboxstatus”:checkboxstatus,
“idm”:idm
},
})        
.fail(函数(jqXHR,textStatus,errorhorn){alert(jqXHR+“--”+textStatus+“--”+errorhorn);});
});//结束改变
});//准备就绪
通常,如果我取消选中checbox,则在第一次sql获取中会检查所有的checkgox,并将其POST的0作为值,但对于其余的sql获取结果,无论是否选中,它总是将“1”作为POST结果发送


这是显示复选框的代码:
这对我有用

我将
$('input[name=status]').prop('checked')
更改为
$(this.prop('checked')


$(文档).ready(函数(e){
$('input[name=status]')。更改(函数(){
if($(this.prop('checked')){checkboxstatus='1';}
else{checkboxstatus='0';}
var idm=$(this.attr('idm');
$.ajax({
类型:“POST”,
url:“checkboxtestbackend.php”,
数据:{“checkboxstatus”:checkboxstatus,“idm”:idm},
成功:功能(响应){
控制台日志(响应);
}
})        
.fail(函数(jqXHR,textStatus,errorhorn){alert(jqXHR+“--”+textStatus+“--”+errorhorn);});
});//结束改变
});//准备就绪
请试试这个

  $(document).ready(function(e) {
     $('.CheckBoxClass').click(function(){  // added class based event  
           if( $(this).is(':checked')) {
               checkboxstatus = '1';
             } else {
               checkboxstatus = '0';
              }             
             var idm = $(this).attr('idm');
                 $.ajax({
                     type: "POST",
                     url: "checkboxtestbackend.php",
                     data: {"checkboxstatus": checkboxstatus,
                        "idm":idm 
                        },
                 })        
             .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
            });//end click
     });//end ready
在PHP代码中,添加了class='CheckBoxClass'

<?php   
    echo "<input type='checkbox' idm='$idm' class='CheckBoxClass' name='status'"; if($row['status'] == 1){ print "checked='checked'"; }echo "/>";
?>

我很困惑。你提到了mysql fetch aray,但我在帖子中没有看到任何PHP。复选框是否打印错误?问题已更新,复选框打印正常,但问题在于java脚本trgger,当它应该发送checkboxstatus=0时,它发送的总是=1,它只对来自数据库的第一个结果起作用,对于其余的结果,它以checkboxstatus=1的方式工作
  $(document).ready(function(e) {
     $('.CheckBoxClass').click(function(){  // added class based event  
           if( $(this).is(':checked')) {
               checkboxstatus = '1';
             } else {
               checkboxstatus = '0';
              }             
             var idm = $(this).attr('idm');
                 $.ajax({
                     type: "POST",
                     url: "checkboxtestbackend.php",
                     data: {"checkboxstatus": checkboxstatus,
                        "idm":idm 
                        },
                 })        
             .fail(function(jqXHR, textStatus, errorThrown){alert(jqXHR+"--"+textStatus+"--"+errorThrown);});
            });//end click
     });//end ready
<?php   
    echo "<input type='checkbox' idm='$idm' class='CheckBoxClass' name='status'"; if($row['status'] == 1){ print "checked='checked'"; }echo "/>";
?>