Javascript e一;功能如下:

Javascript e一;功能如下:,javascript,Javascript,$(文档).ready(函数(){ 变量表=$(“#示例”).DataTable(); $('input[type=“checkbox”]”)。在('change',function()上{ log($(this.attr(“id”),this.checked) var choosedString=“”; 如果($('#47y').prop('checked')){ 选择String=“47” } 如果($('#51y').prop('checked')){ chooseString+=choo

$(文档).ready(函数(){
变量表=$(“#示例”).DataTable();
$('input[type=“checkbox”]”)。在('change',function()上{
log($(this.attr(“id”),this.checked)
var choosedString=“”;
如果($('#47y').prop('checked')){
选择String=“47”
}
如果($('#51y').prop('checked')){
chooseString+=chooseString.length>0?|“:”;
选择字符串+=“51”
}
table.column(3).search(选择String,true,false).draw();
});
});
@导入url('https://cdn.datatables.net/r/dt/dt-1.10.9/datatables.min.css');

47年
51年

名称 位置 办公室 年龄 开始日期 薪水 名称 位置 办公室 年龄 开始日期 薪水 老虎尼克松 系统架构师 爱丁堡 61 2011/04/25 $320,800 加勒特温特斯 会计 东京 63 2011/07/25 $170,750 阿什顿考克斯 初级技术作者 旧金山 66 2009/01/12 $86,000 布拉德利·格里尔 软件工程师 伦敦 41 2012/10/13 $132,000 戴里奥斯 人事领导 爱丁堡 35 2012/09/26 $217,500 杰内特·考德威尔 开发领导 纽约 30 2011/09/03 $345,000 尤里浆果 首席营销官(CMO) 纽约 40 2009/06/25 $675,000 凯撒万斯 售前支持 纽约 21 2011/12/12 $106,450 多丽丝·怀尔德 营业员 西德尼 23 2010/09/20 $85,600 当归 首席执行官(CEO) 伦敦 47 2009/10/09 $1,200,000 加文·乔伊斯 开发商 爱丁堡 42 2010/12/22 $92,575 张珍妮弗 区域主任 新加坡 28 2010/11/14 $357,650 布伦登·瓦格纳 软件工程师 旧金山 28 2011/06/07 $206,850 菲奥娜绿色 首席运营官(COO) 旧金山 48 2010/03/11 $850,000 寿伊图 区域营销 东京 20 2011/08/14 $163,000 米歇尔之家酒店 集成专家 西德尼 37 2011/06/02 $95,400 苏基伯克斯 开发商 伦敦 53 2009/10/22 $114,500 普雷斯科特·巴特利特 技术作者 伦敦 27 2011/05/07 $145,000 加文·科尔特斯 队长 旧金山 22 2008/10/26 $235,500 马蒂娜·麦克雷 售后支持 爱丁堡 46 2011/03/09 $324,050 统一管家 营销设计师 旧金山 47 2009/12/09 $85,675 霍华德·哈特菲尔德 办公室经理 旧金山 51 2008/12/16 $164,500 希望富恩特斯 秘书 旧金山 41 2010/02/12 $109,850 维维安·哈雷尔 财务总监 旧金山 62 2009/02/14 $452,500 蒂莫西·穆尼 办公室经理 伦敦 37 2008/12/11 $136,200 杰克逊·布拉德肖 经理 纽约 65 2008/09/26 $645,750 梁丽薇 支持工程师 新加坡 64 2011/02/03 $234,500 布鲁诺·纳什 软件工程师 伦敦 38 2011/05/03 $163,500 山本樱 支持工程师 东京 37 2009/08/19 $139,575 托尔·沃尔顿 开发商 纽约 61 2013/08/11 $98,540 芬兰卡马乔 支持工程师 旧金山 47 2009/07/07 $87,500 谢尔盖·鲍德温 数据协调员 新加坡 64 2012/04/09 $138,575 泽奈达·弗兰克 软件工程师 纽约 63 2010/01/04 $125,250 佐丽塔·塞拉诺 软件工程师 旧金山 56 2012/06/01 $115,000 詹妮弗·阿科斯塔 初级Javascript开发人员 爱丁堡 43 2013/02/01 $75,650 卡拉·史蒂文斯 营业员 纽约 46 2011/12/06 $145,600 赫敏·巴特勒 区域主任 伦敦 47 2011/03/21 $356,250 拉尔·格里尔 系统管理员 伦敦 21 2009/02/27 $103,500 乔纳斯·亚历山大 开发商 旧金山 30 2010/07/14 $86,500 鲱鱼 区域主任 爱丁堡 51 2008/11/13 $183,000 迈克尔·布鲁斯 Javascript开发人员 新加坡 29 2011/06/27 $183,000 唐娜·斯奈德 客户支持 纽约 27 2011/01/25 $112,001
单击第一个复选框时,您必须查看另一个复选框的状态是否已单击,然后返回47和51,如果没有,则仅返回47

这同样适用于51复选框

它只是一个很小的if语句,用于检查另一个复选框的条件

原型

function Select47(){
if(checkboxAge51.isClicked){
 return 47 AND 51
    } else {
     return 47
    }
}

单击第一个复选框时,您必须查看是否单击了另一个复选框的状态,然后返回47和51,如果没有,则仅返回47

这同样适用于51复选框

只是
function Select47(){
if(checkboxAge51.isClicked){
 return 47 AND 51
    } else {
     return 47
    }
}
function getCheckedValues() {   
    var values = [];
  if ($('#47y').checked) {
    values.push(47);
  }
  if ($('#51y').checked) {
    values.push(51);
  }
  return values;
}
$.fn.dataTable.ext.search.push(
             function (settings, data, dataIndex){
                var values = getCheckedValues();
                return values.indexOf(data[3]) ? true : false;                
             }
          );
$(document).ready(function() {
  var table = $('#example').DataTable();
  var fourtySevenCheckbox = $('#47y')
  var fiftyOneCheckbox = $('#51y')





  $('#47y').on('click', function() {
    if (this.checked) {
  $.fn.dataTable.ext.search.push(
    function(settings, data, dataIndex) {
      if (fiftyOneCheckbox.prop('checked')) {
        return (data[3] == 47 || data[3] == 51);
      } else {
        return (data[3] == 47);
      }
    }
  );
}

table.draw();

if (this.checked) {
  $.fn.dataTable.ext.search.pop();
}
  });




  $('#51y').on('click', function() {
    if (this.checked) {
      $.fn.dataTable.ext.search.push(
        function(settings, data, dataIndex) {
          if (fourtySevenCheckbox.prop('checked')) {
        return (data[3] == 51 || data[3] == 47)
      } else {
        return (data[3] == 51);
      }
    }
  );
}

table.draw();

if (this.checked) {
  $.fn.dataTable.ext.search.pop();
}
  });





});
$(document).ready(function (){
var table = $('#example').DataTable();
var global_47y = $('#47y');
var global_51y = $('#51y');

$('#47y').on('click', function(){
    $.fn.dataTable.ext.search.push(
        function (settings, data, dataIndex){
            return (((data[3] == 47) ? true : false) && global_47y.checked) || (((data[3] == 51) ? true : false) && global_51y.checked);
        }
    );
    table.draw();
    if(this.checked){
        $.fn.dataTable.ext.search.pop();    
    }
});

// exactly the same code here...
$('#51y').on('click', function(){
    $.fn.dataTable.ext.search.push(
        function (settings, data, dataIndex){
            return (((data[3] == 47) ? true : false) && global_47y.checked) || (((data[3] == 51) ? true : false) && global_51y.checked);
        }
    );
    table.draw();
    if(this.checked){
        $.fn.dataTable.ext.search.pop();    
    }
});