数据表 - 按日期范围过滤 - 未返回正确的结果

2024-03-29

我目前正在使用 jQuery 的数据表插件https://datatables.net/ https://datatables.net/使用此处找到的日期范围插件http://www.daterangepicker.com/ http://www.daterangepicker.com/.

我几乎让他们一起工作,但目前仍遇到这两个问题。

1)当我选择日期范围时,它会进行过滤,但不会提供正确的结果。

2)当我清除日期范围结果时,它不会删除过滤器。

我制作了一个 JSfiddle,它与我目前正在工作的非常相似。日期范围过滤器是左上角的输入。http://jsfiddle.net/evcfespn/18/ http://jsfiddle.net/evcfespn/18/

此时任何帮助将不胜感激。 JavaScript 代码:

//Start of the data table   
$(document).ready( function () {
  var table = $('#example').DataTable({
    "dom": '<"toolbar">frtip'
  });
$("div.toolbar").html('<input id="date_range" type="text">');  
//END of the data table

// Date range script - Start of the sscript
$("#date_range").daterangepicker({
    autoUpdateInput: false,
    locale: {
        "cancelLabel": "Clear",
        }
});

$("#date_range").on('apply.daterangepicker', function(ev, picker) {
      $(this).val(picker.startDate.format('YYYY-MM-DD') + ' to ' + picker.endDate.format('YYYY-MM-DD'));
      table.draw();
});

$("#date_range").on('cancel.daterangepicker', function(ev, picker) {
      $(this).val('');
      table.draw();
});
// Date range script - END of the script

$.fn.dataTableExt.afnFiltering.push(
function( oSettings, aData, iDataIndex ) {

    var grab_daterange = $("#date_range").val();
    var give_results_daterange = grab_daterange.split(" to ");
    var filterstart = give_results_daterange[0];
    var filterend = give_results_daterange[1];
    var iStartDateCol = 5; //using column 2 in this instance
    var iEndDateCol = 5;
    var tabledatestart = aData[iStartDateCol];
    var tabledateend= aData[iEndDateCol];

    if ( filterstart === "" && filterend === "" )
    {
        return true;
    }
    else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isBefore(tabledatestart)) && filterend === "")
    {
        return true;
    }
    else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isAfter(tabledatestart)) && filterstart === "")
    {
        return true;
    }
    else if ((moment(filterstart).isSame(tabledatestart) || moment(filterstart).isBefore(tabledatestart)) && (moment(filterend).isSame(tabledateend) || moment(filterend).isAfter(tabledateend)))
    {
        return true;
    }
    return false;
}
);

//End of the datable
 });

HTML 表格:

<table id="example" class="display" cellspacing="0" width="100%">
    <thead>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </thead>
    <tfoot>
        <tr>
            <th>Name</th>
            <th>Position</th>
            <th>Office</th>
            <th>Age</th>
            <th>Start date</th>
            <th>Salary</th>
        </tr>
    </tfoot>
    <tbody>
        <tr>
            <td>Tiger Nixon</td>
            <td>System Architect</td>
            <td>Edinburgh</td>
            <td>61</td>
            <td>2015-10-01</td>
            <td>$320,800</td>
        </tr>
        <tr>
            <td>Garrett Winters</td>
            <td>Accountant</td>
            <td>Tokyo</td>
            <td>63</td>
            <td>2015-10-03</td>
            <td>$170,750</td>
        </tr>
        <tr>
            <td>Ashton Cox</td>
            <td>Junior Technical Author</td>
            <td>San Francisco</td>
            <td>66</td>
            <td>2015-10-03</td>
            <td>$86,000</td>
        </tr>
        <tr>
            <td>Cedric Kelly</td>
            <td>Senior Javascript Developer</td>
            <td>Edinburgh</td>
            <td>22</td>
            <td>2015-10-05</td>
            <td>$433,060</td>
        </tr>
        <tr>
            <td>Airi Satou</td>
            <td></td>
            <td>Tokyo</td>
            <td></td>
            <td>2015-10-05</td>
            <td></td>
        </tr>
        <tr>
            <td>Brielle Williamson</td>
            <td>Integration Specialist</td>
            <td>New York</td>
            <td>61</td>
            <td>2015-10-05</td>
            <td>$372,000</td>
        </tr>
        <tr>
            <td>Herrod Chandler</td>
            <td>Sales Assistant</td>
            <td>San Francisco</td>
            <td>59</td>
            <td>2015-10-05</td>
            <td>$137,500</td>
        </tr>
        <tr>
            <td>Rhona Davidson</td>
            <td>Integration Specialist</td>
            <td>Tokyo</td>
            <td>55</td>
            <td>2015-10-07</td>
            <td>$327,900</td>
        </tr>
        <tr>
            <td>Colleen Hurst</td>
            <td>Javascript Developer</td>
            <td>San Francisco</td>
            <td>39</td>
            <td>2015-10-08</td>
            <td>$205,500</td>
        </tr>
        <tr>
            <td>Sonya Frost</td>
            <td>Software Engineer</td>
            <td>Edinburgh</td>
            <td>23</td>
            <td>2015-10-13</td>
            <td>$103,600</td>
        </tr>
        <tr>
            <td>Jena Gaines</td>
            <td>Office Manager</td>
            <td>London</td>
            <td>30</td>
            <td>2015-10-13</td>
            <td>$90,560</td>
        </tr>
        <tr>
            <td>Quinn Flynn</td>
            <td>Support Lead</td>
            <td>Edinburgh</td>
            <td>22</td>
            <td>2015-10-15</td>
            <td>$342,000</td>
        </tr>
        <tr>
            <td>Charde Marshall</td>
            <td>Regional Director</td>
            <td>San Francisco</td>
            <td>36</td>
            <td>2015-10-16</td>
            <td>$470,600</td>
        </tr>
        <tr>
            <td>Haley Kennedy</td>
            <td>Senior Marketing Designer</td>
            <td>London</td>
            <td>43</td>
            <td>2015-10-17</td>
            <td>$313,500</td>
        </tr>
        <tr>
            <td>Tatyana Fitzpatrick</td>
            <td>Regional Director</td>
            <td>London</td>
            <td>19</td>
            <td>2015-01-18</td>
            <td>$385,750</td>
        </tr>
        <tr>
            <td>Michael Silva</td>
            <td>Marketing Designer</td>
            <td>London</td>
            <td>66</td>
            <td>2015-10-19</td>
            <td>$198,500</td>
        </tr>
        <tr>
            <td>Paul Byrd</td>
            <td>Chief Financial Officer (CFO)</td>
            <td>New York</td>
            <td>64</td>
            <td>2015-10-20</td>
            <td>$725,000</td>
        </tr>
        <tr>
            <td>Gloria Little</td>
            <td>Systems Administrator</td>
            <td>New York</td>
            <td>59</td>
            <td>2015-10-25</td>
            <td>$237,500</td>
        </tr>
        <tr>
            <td>Bradley Greer</td>
            <td>Software Engineer</td>
            <td>London</td>
            <td>41</td>
            <td>2015-11-26</td>
            <td>$132,000</td>
        </tr>
        <tr>
            <td>Dai Rios</td>
            <td>Personnel Lead</td>
            <td>Edinburgh</td>
            <td>35</td>
            <td>2015-10-26</td>
            <td>$217,500</td>
        </tr>
        <tr>
            <td>Jenette Caldwell</td>
            <td>Development Lead</td>
            <td>New York</td>
            <td>30</td>
            <td>2015-10-27</td>
            <td>$345,000</td>
        </tr>
        <tr>
            <td>Yuri Berry</td>
            <td>Chief Marketing Officer (CMO)</td>
            <td>New York</td>
            <td>40</td>
            <td>2015-10-28</td>
            <td>$675,000</td>
        </tr>
        <tr>
            <td>Caesar Vance</td>
            <td>Pre-Sales Support</td>
            <td>New York</td>
            <td>21</td>
            <td>2015-10-28</td>
            <td>$106,450</td>
        </tr>
        <tr>
            <td>Doris Wilder</td>
            <td>Sales Assistant</td>
            <td>Sidney</td>
            <td>23</td>
            <td>2015-10-29</td>
            <td>$85,600</td>
        </tr>
        <tr>
            <td>Angelica Ramos</td>
            <td>Chief Executive Officer (CEO)</td>
            <td>London</td>
            <td>47</td>
            <td>2015-10-29</td>
            <td>$1,200,000</td>
        </tr>
        <tr>
            <td>Gavin Joyce</td>
            <td>Developer</td>
            <td>Edinburgh</td>
            <td>42</td>
            <td>2015-10-29</td>
            <td>$92,575</td>
        </tr>
        <tr>
            <td>Jennifer Chang</td>
            <td>Regional Director</td>
            <td>Singapore</td>
            <td>28</td>
            <td>2015-10-29</td>
            <td>$357,650</td>
        </tr>
        <tr>
            <td>Brenden Wagner</td>
            <td>Software Engineer</td>
            <td>San Francisco</td>
            <td>28</td>
            <td>2015-11-01</td>
            <td>$206,850</td>
        </tr>
        <tr>
            <td>Fiona Green</td>
            <td>Chief Operating Officer (COO)</td>
            <td>San Francisco</td>
            <td>48</td>
            <td>2015-11-01</td>
            <td>$850,000</td>
        </tr>
        <tr>
            <td>Shou Itou</td>
            <td>Regional Marketing</td>
            <td>Tokyo</td>
            <td>20</td>
            <td>2015-11-03</td>
            <td>$163,000</td>
        </tr>
        <tr>
            <td>Michelle House</td>
            <td>Integration Specialist</td>
            <td>Sidney</td>
            <td>37</td>
            <td>2015-11-04</td>
            <td>$95,400</td>
        </tr>
        <tr>
            <td>Suki Burks</td>
            <td>Developer</td>
            <td>London</td>
            <td>53</td>
            <td>2015-11-06</td>
            <td>$114,500</td>
        </tr>
        <tr>
            <td>Prescott Bartlett</td>
            <td>Technical Author</td>
            <td>London</td>
            <td>27</td>
            <td>2015-11-07</td>
            <td>$145,000</td>
        </tr>
        <tr>
            <td>Gavin Cortez</td>
            <td>Team Leader</td>
            <td>San Francisco</td>
            <td>22</td>
            <td>2015-11-07</td>
            <td>$235,500</td>
        </tr>
        <tr>
            <td>Martena Mccray</td>
            <td>Post-Sales support</td>
            <td>Edinburgh</td>
            <td>46</td>
            <td>2015-11-07</td>
            <td>$324,050</td>
        </tr>
        <tr>
            <td>Unity Butler</td>
            <td>Marketing Designer</td>
            <td>San Francisco</td>
            <td>47</td>
            <td>2015-11-08</td>
            <td>$85,675</td>
        </tr>
        <tr>
            <td>Howard Hatfield</td>
            <td>Office Manager</td>
            <td>San Francisco</td>
            <td>51</td>
            <td>2015-11-08</td>
            <td>$164,500</td>
        </tr>
        <tr>
            <td>Hope Fuentes</td>
            <td>Secretary</td>
            <td>San Francisco</td>
            <td>41</td>
            <td>2015-11-09</td>
            <td>$109,850</td>
        </tr>
        <tr>
            <td>Vivian Harrell</td>
            <td>Financial Controller</td>
            <td>San Francisco</td>
            <td>62</td>
            <td>2015-11-09</td>
            <td>$452,500</td>
        </tr>
        <tr>
            <td>Timothy Mooney</td>
            <td>Office Manager</td>
            <td>London</td>
            <td>37</td>
            <td>2015-11-10</td>
            <td>$136,200</td>
        </tr>
        <tr>
            <td>Jackson Bradshaw</td>
            <td>Director</td>
            <td>New York</td>
            <td>65</td>
            <td>2015-11-10</td>
            <td>$645,750</td>
        </tr>
        <tr>
            <td>Olivia Liang</td>
            <td>Support Engineer</td>
            <td>Singapore</td>
            <td>64</td>
            <td>2015-11-11</td>
            <td>$234,500</td>
        </tr>
        <tr>
            <td>Bruno Nash</td>
            <td>Software Engineer</td>
            <td>London</td>
            <td>38</td>
            <td>2015-11-11</td>
            <td>$163,500</td>
        </tr>
        <tr>
            <td>Sakura Yamamoto</td>
            <td>Support Engineer</td>
            <td>Tokyo</td>
            <td>37</td>
            <td>2015-11-12</td>
            <td>$139,575</td>
        </tr>
        <tr>
            <td>Thor Walton</td>
            <td>Developer</td>
            <td>New York</td>
            <td>61</td>
            <td>2015-11-13</td>
            <td>$98,540</td>
        </tr>
        <tr>
            <td>Finn Camacho</td>
            <td>Support Engineer</td>
            <td>San Francisco</td>
            <td>47</td>
            <td>2015-11-13</td>
            <td>$87,500</td>
        </tr>
        <tr>
            <td>Serge Baldwin</td>
            <td>Data Coordinator</td>
            <td>Singapore</td>
            <td>64</td>
            <td>2015-11-13</td>
            <td>$138,575</td>
        </tr>
        <tr>
            <td>Zenaida Frank</td>
            <td>Software Engineer</td>
            <td>New York</td>
            <td>63</td>
            <td>2015-11-13</td>
            <td>$125,250</td>
        </tr>
        <tr>
            <td>Zorita Serrano</td>
            <td>Software Engineer</td>
            <td>San Francisco</td>
            <td>56</td>
            <td>2015-11-13</td>
            <td>$115,000</td>
        </tr>
        <tr>
            <td>Jennifer Acosta</td>
            <td>Junior Javascript Developer</td>
            <td>Edinburgh</td>
            <td>43</td>
            <td>2013/02/01</td>
            <td>$75,650</td>
        </tr>
        <tr>
            <td>Cara Stevens</td>
            <td>Sales Assistant</td>
            <td>New York</td>
            <td>46</td>
            <td>2015-11-13</td>
            <td>$145,600</td>
        </tr>
        <tr>
            <td>Hermione Butler</td>
            <td>Regional Director</td>
            <td>London</td>
            <td>47</td>
            <td>2015-11-13</td>
            <td>$356,250</td>
        </tr>
        <tr>
            <td>Lael Greer</td>
            <td>Systems Administrator</td>
            <td>London</td>
            <td>21</td>
            <td>2009/02/27</td>
            <td>$103,500</td>
        </tr>
        <tr>
            <td>Jonas Alexander</td>
            <td>Developer</td>
            <td>San Francisco</td>
            <td>30</td>
            <td>2015-11-13</td>
            <td>$86,500</td>
        </tr>
        <tr>
            <td>Shad Decker</td>
            <td>Regional Director</td>
            <td>Edinburgh</td>
            <td>51</td>
            <td>2015-11-13</td>
            <td>$183,000</td>
        </tr>
        <tr>
            <td>Michael Bruce</td>
            <td>Javascript Developer</td>
            <td>Singapore</td>
            <td>29</td>
            <td>2015-11-13</td>
            <td>$183,000</td>
        </tr>
        <tr>
            <td>Donna Snider</td>
            <td>Customer Support</td>
            <td>New York</td>
            <td>27</td>
            <td>2015-11-13</td>
            <td>$112,000</td>
        </tr>
    </tbody>
</table>

将变量索引更改为 4 而不是 5。

var iStartDateCol = 4; 
var iEndDateCol = 4;

该数组是从 0 开始的,因此如果您想要第 5 列,则需要索引 4。

另外,要清除,您需要将过滤器中的第一个检查更改为:

if ( !filterstart && !filterend )
{
    return true;
}

Since:

var give_results_daterange = grab_daterange.split(" to ");
var filterstart = give_results_daterange[0];
var filterend = give_results_daterange[1];

会导致filterend未定义。 这是更新的小提琴:

http://jsfiddle.net/evcfespn/26/ http://jsfiddle.net/evcfespn/26/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

数据表 - 按日期范围过滤 - 未返回正确的结果 的相关文章

随机推荐

  • 如何正确打印 __FILE__ 扩展为的字符串?

    考虑这个程序 include
  • 在 Ruby 脚本中运行命令行命令

    有没有办法通过 Ruby 运行命令行命令 我正在尝试创建一个小型 Rub y 程序 该程序可以通过 screen rcsz 等命令行程序拨出和接收 发送 如果我能将所有这些与 Ruby MySQL 后端等 结合起来 那就太好了 是的 有以下
  • 用于包装 JsonResult 操作响应的 .Net 过滤器

    我已经建立了一个网络 API 应用程序并发现了一个问题 目前在我的代码中处理得不好 该问题总结为包装所有内容Json从具有自定义节点 根 的所有 API 操作返回的对象 即 我有这个 json 数组 响应 Category Pages Us
  • 为什么不允许在非类型参数中进行部分特化以使用嵌套模板参数

    我有这个代码 template
  • 连接两个 std::vector

    如何连接两个std vectors vector1 insert vector1 end vector2 begin vector2 end
  • 如何在.NET Core中正确使用代码契约

    我想知道如何正确使用代码契约 NET核心 到目前为止我尝试将CC添加到我的项目中 编译和调试 我对消息感到困惑 该消息出现在每次使用的呼叫中Contract Requires 以及通过谷歌搜索找到的信息 该消息指出 必须使用代码契约二进制重
  • 如何使用 CSS 选择没有“类型”的

    我这里有3个
  • 为什么 Scala 在这种特殊情况下无法找到次要隐式值?

    我很难解释之间的行为差 异 通过主要隐式值或隐式值寻求附加隐式值 隐式转换 具体来说 这有效 trait Foo A implicit def fooString Foo String null implicit def value A i
  • 同步 Android 画廊中的照片

    我见过一些可以与 Android 图库同步照片的应用程序 例如 Picasa 并且我想自己创建类似的东西 我将拥有一个包含照片的远程服务器 并且用户将能够访问这些来自图库中的单独相册 如上述应用程序 然而 我不知道如何实现这一点 甚至不知道
  • 如何在 Nuxt3 中使用 @nuxtjs/axios 模块?

    我有这段代码可以从中获取API数据https fakestoreapi com products https fakestoreapi com products
  • 单击行后插入动态创建组件

    我正在研究解决方案 我想在单击行后附加动态创建的组件 我的表由带有操作按钮的行组成 单击该按钮我将调用角度函数并在该行之后加载组件 这是表代码 div class row div class col div div
  • 如何动态添加tinymce 4.x到textarea?

    我在初始化后动态地将tinymce添加到textarea时遇到了一个小问题 tinymce init selector textarea theme modern height 100 plugins advlist autolink im
  • SimpleCov 计算用户模型的 0% 覆盖率

    我决定尝试使用简单的科夫 https github com colszowka simplecovgem 我认为这是一个很酷的工具 但我有一个问题 我有一个模型User 我有user spec rb其中包含测试用例 但 simplecov
  • Html.DropDownListFor 设置选定值

    我创建一个 Html DropDownListFor 并从数据库中填充它 如何将选定的值设置为下拉列表 My View Html DropDownListFor m gt m Forms new SelectList Model Forms
  • 相对布局权重

    在布局资源 XML 中 我有 3 个relativelayout 它们位于主relativelayout 内 视图将垂直显示 这3个RelativeLayout 被设置为彼此相邻 我希望它们填充整个屏幕 无论屏幕尺寸是多少 我的布局视图
  • 堆的算法在列表列表中的实现

    我正在使用堆算法创建一个包含所述列表的每个排列的列表列表 每个排列将是其自己的列表 当我在算法中打印它时它可以正常工作 但是当我尝试将它添加到我的列表列表中并且它们都是相同的数组 4 1 2 3 时它不能正常工作 我注释掉了我测试过的打印内
  • 我们如何将上下文转换为片段引用?

    我有一个类 Common 和一个片段 FragmentTest Common java 是一个通用类 它具有其他活动的一些通用函数 这些函数通过每个活动的上下文访问 在这里我传递片段的上下文到该类中的函数 我正在这样做 在片段中 Commo
  • 如何在Python中将一列整数转换为标准小时时间?

    我有一个像这样的数据框 BuyTime ID SellTime 94650 1 94651 94717 1 94817 120458 2 114119 买入时间和卖出时间类型是整数 但我想将它们转换为标准时间日期 我已经用过 quote S
  • Javascript 强制在浏览器中打开链接

    有没有办法从 JavaScript 进行对象检测并强制在特定浏览器中打开链接 For eg 在 IE 中打开 在 Firefox 中打开 不 如果没有一些浏览器插件 绝对不行 如果可能的话 这将是一个巨大的安全风险
  • 数据表 - 按日期范围过滤 - 未返回正确的结果

    我目前正在使用 jQuery 的数据表插件https datatables net https datatables net 使用此处找到的日期范围插件http www daterangepicker com http www datera