Javascript 全选复选框仅选择当前在页面中[不在其他页面索引中]的复选框

Javascript 全选复选框仅选择当前在页面中[不在其他页面索引中]的复选框,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,我有一个jquery动态表。是我当前表格的屏幕截图 我的问题是,当我单击“全选”复选框时,表的第一页中的复选框都被选中(在每一行中),而其他复选框仍处于未选中状态。以下是我目前的代码: // I have omitted the table head part for the sake of simplicity /******************************** TABLE BODY ********************************/

我有一个jquery动态表。是我当前表格的屏幕截图

我的问题是,当我单击“全选”复选框时,表的第一页中的复选框都被选中(在每一行中),而其他复选框仍处于未选中状态。以下是我目前的代码:

// I have omitted the table head part for the sake of simplicity



   /********************************
    TABLE BODY
    ********************************/
    var tableRows = "";
    //iterate each result object
    for (var row in result.results.bindings) {

        tableRows += "<tr>";
        //iterate each value

        for (var key in result.results.bindings[row]) {
            if (result.results.bindings[row].hasOwnProperty(key) && (resultSetVariables.length==0 || _.contains(resultSetVariables, "?" + key))) {

                    var value = "x";
                    if( result.results.bindings[row][key].value != undefined ) {
                        val = result.results.bindings[row][key].value;
                        if(val.match(regexURL)) {
                            value = '<a href="' + val + '" target="_blank">' + val.substr(val.lastIndexOf('/') + 1) + '</a>';
                        }
                        else
                            value = val;
                    }
                    tableRows += "<td>" + value + "</td>";

            }
        }
        tableRows+='<td><input type="checkbox" class="singleSelect"> </td>';

        tableRows += "</tr>";
    //    console.log(tableRows);
    };
$("#results_container").children().detach();
    //create unique id
    var id = Math.floor( Math.random()*99999 );
    //append a new table to the DOM

    $("#results_container").append('<table id="result_table' + id + '" cellpadding="0" cellspacing="0" border="0" class="table table-striped table-bordered"><thead><tr></tr></thead><tbody></tbody></table>');
    $("#results_container").append('<input type="button" class="btn" id="calculate_similarity" value="calculate_similarity" style="float:right;"/>');
    $("#results_container").append("<label style='float:right;'><input class='mahoutSelection' id='selectAll' type='checkbox' value='selectAll' style='float:right;'>selectAll</label>");
    //append head and body to tabley
    $('#results_container table thead tr').append(tableHead);
    $('#results_container table tbody').append(tableRows);
    $('#results_container table tbody').append(tableRows);

    //add the results table
    this.resultTable = $('#results_container table').dataTable({
        "sDom": "<'row-fluid'<'span6'l><'span6'f>r>t<'row-fluid'<'span6'i><'span6'p>>"
        , "sPaginationType": "bootstrap"
        , "oLanguage": {
            "sLengthMenu": "_MENU_ records per page"
        }
    });
     $('input[id="selectAll"]').on('click', function(){
         if ( $(this).is(':checked') ) {
             $("input[class=singleSelect]").each(function () {
              $(this).prop("checked", true);
          });
         }
         else {
             $("input[class=singleSelect]").each(function () {
              $(this).prop("checked", false);
          });
        }
     });
//为了简单起见,我省略了表头部分
/********************************
桌体
********************************/
var tableRows=“”;
//迭代每个结果对象
for(result.results.bindings中的var行){
tableRows+=“”;
//迭代每个值
for(result.results.bindings[row]中的var键){
if(result.results.bindings[row].hasOwnProperty(key)和&(resultSetVariables.length==0 | | |包含(resultSetVariables,“?”+key))){
var value=“x”;
if(result.results.bindings[row][key].value!=未定义){
val=result.results.bindings[row][key].value;
if(val.match(regexURL)){
值=“”;
}
其他的
值=val;
}
tableRows+=“”+值+“”;
}
}
tableRows+='';
tableRows+=“”;
//console.log(tableRows);
};
$(“#结果#容器”).children().detach();
//创建唯一id
var id=Math.floor(Math.random()*99999);
//向DOM追加一个新表
$(“#结果#容器”)。附加(“”);
$(“#结果#容器”)。附加(“”);
$(“#结果#容器”)。追加(“selectAll”);
//将头部和身体附加到桌子上
$('#results_container table thead tr').append(tableHead);
$('#结果_容器表tbody')。追加(tableRows);
$('#结果_容器表tbody')。追加(tableRows);
//添加结果表
this.resultTable=$(“#结果_容器表”).dataTable({
“sDom”:“t”
,“sPaginationType”:“引导”
,“语言”:{
“sLengthMenu”:“\u MENU\u每页记录”
}
});
$('input[id=“selectAll”]”)。在('click',function()上{
如果($(this).is(':checked')){
$(“输入[class=singleSelect]”)。每个(函数(){
$(this).prop(“选中”,true);
});
}
否则{
$(“输入[class=singleSelect]”)。每个(函数(){
$(this).prop(“选中”,false);
});
}
});

那么,我如何修复它,以便当我单击全选时,它选中所有复选框?

您可以设置JSFIDLE吗?这样很难调试…@Jeff实际上这是我第一次使用js和html。此外,我的项目还包含一些引导功能。不幸的是,我很难创建JSFIDLE(然而,在问了这个问题之后,我发现我的问题在某种程度上与fnGetNodes()方法有关。你知道它吗?我的意思是我如何使用它来解决我的问题?