Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.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
jQuery识别复选框值时出现问题?_Jquery - Fatal编程技术网

jQuery识别复选框值时出现问题?

jQuery识别复选框值时出现问题?,jquery,Jquery,我的jQuery代码有一个问题,因为出于某种原因,在我的情况下,它无法区分选中的和未选中的复选框。它在第一个帐户上识别它们(即,如果一开始未选中,它会识别它实际上未选中)。但是如果你取消选中它,它仍然认为它是未选中的 你可以在这里看到: 选中时,它会将该行复制到第二个表中,但取消选中该行时,它仍会复制到第二个表中,尽管选择器只要求未选中的行 $('#one tbody tr td input.checkbox:not(:checked)').on('change', function (e)

我的jQuery代码有一个问题,因为出于某种原因,在我的情况下,它无法区分选中的和未选中的复选框。它在第一个帐户上识别它们(即,如果一开始未选中,它会识别它实际上未选中)。但是如果你取消选中它,它仍然认为它是未选中的

你可以在这里看到:

选中时,它会将该行复制到第二个表中,但取消选中该行时,它仍会复制到第二个表中,尽管选择器只要求未选中的行

$('#one tbody tr td input.checkbox:not(:checked)').on('change', function (e)
{ });

您可以尝试以下方法:

$(':checkbox').on('change', function() {
  if(this.checked) {
     // do if checked
  } else {
    // do if not checked
  }
});
您的完整代码将:

$('#one tbody tr td input.checkbox').on('change', function(e) {
    if (this.checked) {
        var row = $(this).closest('tr').html();
        $('#two tbody').append('<tr>' + row + '</tr>');
    }
});
$('#一个tbody tr td input.checkbox')。打开('change',函数(e){
如果(选中此项){
var row=$(this.closest('tr').html();
$('#两个tbody')。追加(''+行+'');
}
});

选中此项

您可以尝试以下内容:

$(':checkbox').on('change', function() {
  if(this.checked) {
     // do if checked
  } else {
    // do if not checked
  }
});
您的完整代码将:

$('#one tbody tr td input.checkbox').on('change', function(e) {
    if (this.checked) {
        var row = $(this).closest('tr').html();
        $('#two tbody').append('<tr>' + row + '</tr>');
    }
});
$('#一个tbody tr td input.checkbox')。打开('change',函数(e){
如果(选中此项){
var row=$(this.closest('tr').html();
$('#两个tbody')。追加(''+行+'');
}
});

选中此复选框,看起来您已将一个函数绑定到当前未选中的所有输入框。该函数将始终绑定到这些复选框,而不管它们之后的状态如何。您应该将选中状态作为绑定函数的一部分进行检查,这与CodeParadox所做的基本相同。

看起来您已将函数绑定到当前未选中的所有输入框。该函数将始终绑定到这些复选框,而不管它们之后的状态如何。您应该在绑定函数中检查选中的状态,这与CodeParadox所做的基本相同。

工作演示这就是您要查找的吗

原料药

请让我知道如果我错过了什么,希望这有帮助

代码//绑定到所有未选中的复选框,但检查复选框是否选中

$('input[type=checkbox]:not(:checked)').on('change', function() {

   if( $(this).is(':checked') ){
        var row = $(this).closest('tr').html();
        $('#two tbody').append('<tr>' + row + '</tr>');
    }
});
$('input[type=checkbox]:未(:选中)')。在('change',function()上{
如果($(this).is(':checked')){
var row=$(this.closest('tr').html();
$('#两个tbody')。追加(''+行+'');
}
});

工作演示这就是您要找的吗

原料药

请让我知道如果我错过了什么,希望这有帮助

代码//绑定到所有未选中的复选框,但检查复选框是否选中

$('input[type=checkbox]:not(:checked)').on('change', function() {

   if( $(this).is(':checked') ){
        var row = $(this).closest('tr').html();
        $('#two tbody').append('<tr>' + row + '</tr>');
    }
});
$('input[type=checkbox]:未(:选中)')。在('change',function()上{
如果($(this).is(':checked')){
var row=$(this.closest('tr').html();
$('#两个tbody')。追加(''+行+'');
}
});

@danrhul检查演示,我想你希望我检查了,但它仍然有相同的问题。检查第一个表中的一行,将该行复制到第二个表(需要)。但是当我取消选中同一行时,它仍然会将该行复制到第二个表中。好的,在演示中,它不起作用,但在将它应用到我的实际工作中后,它起作用了。谢谢:DIt的工作很好,但为什么使用
$(':checkbox:checked')
没有给出预期的结果?@danrhul检查演示,我想你希望我检查了,但它仍然有相同的问题。检查第一个表中的一行,将该行复制到第二个表(需要)。但是当我取消选中同一行时,它仍然会将该行复制到第二个表中。好的,在演示中,它不起作用,但在将它应用到我的实际工作中后,它起作用了。谢谢:DIt的工作很好,但为什么使用
$(':checkbox:checked')未给出预期结果?