Quantcast
Channel: Recent Discussions — DataTables forums
Viewing all articles
Browse latest Browse all 82279

Need to filter datatable based on date selection

$
0
0

i am not able to filter datatable on selection of date picker. the logic is display all records if submitted date is between from date and To date

From: To:

$(document).ready(function()
{
getAllSubmittedRecords();

        //Date picker
        $.fn.dataTable.ext.search.push(
        function( settings, data, dataIndex ) 
            {
                var min =  $('#min').val();
                var max =  $('#max').val();
                var date_submitted =  data[7]  || 0; 

                 if (min == "" && max == "") { return true; }
                 if (min == "" && date_submitted <= max) { return true;}
                 if(max == "" && date_submitted >= min) {return true;}
                 if (date_submitted <= max && date_submitted >= min) { return true; }
                 return false;
            }
        );



        //for date selection
        $("#min").datepicker({ onSelect: function () { oTable.draw(); }, changeMonth: true, changeYear: true, dateFormat:"yy-mm-dd"});
        $("#max").datepicker({ onSelect: function () { oTable.draw(); }, changeMonth: true, changeYear: true, dateFormat:"yy-mm-dd"});

    });  

function getAllSubmittedRecords()
{
$.ajax({
url: _spPageContextInfo.webAbsoluteUrl + ListName,
type: "GET",
headers: {
"accept": "application/json;odata=verbose",
},
success: function (data)
{
var items = data.d.results;
if(items.length > 0)
{
for (var i = 0; i < items.length; i++)
{
var projectId = items[i].ProjectID;
if(projectId == null)
projectId = "";

                        var requestID =  items[i].WorkfrontID;
                        if(requestID == null)
                            requestID = "";

                        var reqProjId;
                        if(projectId == "" && requestID != null)
                        {
                            reqProjId= requestID;
                        }
                        else if(projectId != null && requestID == "")
                        {
                            reqProjId = projectId;
                        }
                        else
                        {
                            reqProjId="";
                        }

                        var PM_ID = items[i].ProjectManagerId;
                        if (PM_ID == null)
                            PM_ID="";
                        else 
                            PM_ID=getDisplayName(items[i].ProjectManagerId);

                        var baName = items[i].BANameId;
                        if (baName == 'undefined' || baName == "" )
                            baName="";
                        else 
                            baName  = getDisplayName(items[i].BANameId);

                        var projectName = items[i].ProjectName;

                        var clientName =  items[i].ClientNameId;
                        if(clientName == "47")
                            clientName = items[i].OtherClient;
                        else
                            clientName = getClientNameOnId(items[i].ClientNameId);

                         var submissionDate = items[i].SubmissionDate;
                        if(submissionDate == null || submissionDate == "")
                            submissionDate = "";
                        else
                            submissionDate = new Date(items[i].SubmissionDate).format("dd/MM/yyyy");    

                        if(submissionDate == null || submissionDate == "")
                            dtArray.push([items[i].Id,items[i].Title,reqProjId,clientName,projectName,baName,PM_ID,""]);
                        else
                            dtArray.push([items[i].Id,items[i].Title,reqProjId,clientName,projectName,baName,PM_ID,submissionDate]);
                    }

                     //dataArray=dtArray;

                 var oTable = $('#divDT').dataTable(
                    {
                        dom: 'lBfrtip',
                        buttons: [
                        'excelHtml5',
                        ],
                        "order": [[ 0, "desc" ]],
                        data: dtArray,
                         "columnDefs": [
                        {
                            "targets": [ 0 ],
                            "visible": false
                        }],
                        columns: [
                            { title: "Id" },
                            { title: "Form Id" },
                            { title: "Request / Project Id" },
                            { title: "Client Name" },
                            { title: "Project Name" },
                            { title: "BA" },
                            { title: "PM" },
                            { title: "Submission Date" }
                        ]
                    });
                    $(".dt-button span").text("Export to Excel");  
                }
            },
            error: function (error) {
               // alert(JSON.stringify(error));
            }
        });
    }

Viewing all articles
Browse latest Browse all 82279

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>