繁体   English   中英

需要使用日期选择器按日期范围过滤数据表列

[英]need to filter datatable column by date range with datepicker

我正在尝试使用Jquery Datepicker过滤数据表中的出生日期列。 但是对我来说太难了,我无法在线找到很好的例子。 请向我解释我该怎么做。 提前致谢。

截图

码:

     <form class="form-inline" >
          <div class="form-group">
            <label for="exampleInputEmail2">From </label>
            <input type = "text" class="form-control" id = "datepicker1" name= "date1" placeholder="From Date"/>
          </div>
           <div class="form-group">
            <label for="exampleInputEmail2">To </label>
             <input type = "text" class="form-control" id = "datepicker2" name= "date2" placeholder="To Date"/>
          </div>
        </form>
       <table id="formdata4" class="table table-bordered table-hover nowrap">
              <thead>
              <tr style="border-color:black">
                     <th> ID </th>
                     <th> Name </i></a></th>
                     <th> Email </th>
                     <th> Age </th>
                     <th> Gender </th>
                     <th> D.O.B </th>
                     <th> Address </th>
                     <th> City </th>
                     <th> Skills </th>
                     <th> Action </th>
              </tr>
              </thead>
       </table>
     <script>
        var table1;
        $(document).ready(function(){
                //$("#datepicker1").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: null });
                //$("#datepicker2").datepicker({ dateFormat: 'yy-mm-dd', defaultDate: null });
                        $(function() {
                            $( "#datepicker1" ).datepicker({dateFormat: 'yy-mm-dd'});
                        });

                        $(function() {
                            $( "#datepicker2" ).datepicker({dateFormat: 'yy-mm-dd'});
                        });

        table1 = $('#formdata4').dataTable({
                                "ajax":{
                                    "url": "dataTable.php",
                                    "dataSrc":""
                                    },
                                "columns": [
                                    { "data": "user_id" },
                                    { "data": "name" },
                                    { "data": "email" },
                                    { "data": "age" },
                                    { "data": "gender" },
                                    { "data": "dob" },
                                    { "data": "address" },
                                    { "data": "city" },
                                    { "data": "skill" },
                                    { "data": "button" },
                                    ]
                                });

                          //table1.columnFilter({ sPlaceHolder: "head:before",
                          //aoColumns: [{ type: "text" },
                          //{ type: "date-range", sRangeFormat: "Between {from} and {to} dates" }
                          //]
                          //      });
                          //$('#datepicker1').change( function() { table1.fnDraw(); } );
                          //$('#datepicker2').change( function() { table1.fnDraw(); } );            
  });
                     $('#datepicker1').on( 'change', function () {                          
                     $('#formdata4').dataTable().fnFilter(this.value, 5);
                  } ); 
//    $('#datepicker1, #datepicker2').on('change', function () {
//    var start =$('#datepicker1').val();
//    var end =$('#datepicker2').val();
//    table1.column(5).search(start, end).draw();
//} );
                //$.datepicker.regional[""].dateFormat = 'dd/mm/yy';
                //$.datepicker.setDefaults($.datepicker.regional['']);
        </script>

有人请帮忙

首先,当您单击搜索按钮时添加一个按钮(搜索),然后获取日期值并传递给数据表函数。例如,

$(document).ready(function () {
   bindGrid('','');
        $("#btnID").click(function () {
            try {
                var parameter1 = $('#txtFromDate').val();
                var parameter2 = $('#txtToDate').val();
                bindGrid(parameter1,parameter2);
            } catch (e) {
            }

        });
});

function bindGrid(parameter1,parameter2) {
$('#formdata4').dataTable({
...
 "sAjaxSource": "dataTable.php",
        "fnServerParams": function (aoData) {
            aoData.push({ "name": "FromDate", "value": parameter1 },{"name":"ToDate","value":parameter2});
            perm = aoData;
        },
...
});
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM