.trigger ('change') обновляет таблицу данных dataTable после проверки собрания - PullRequest
0 голосов
/ 24 апреля 2019

В настоящее время мой dataTable имеет кнопку проверки в каждой строке, чтобы определить, какая строка хочет выполнить действие обновления.Мой dataTable использовал этот код

var a = $('select[name=table_time_records_length]').val();
$('select[name=table_time_records_length]').append("<option id='optioncount' value='365'></option>");
$('select[name=table_time_records_length]').val(365).trigger('change');

Чтобы идентифицировать все отмеченные строки, чтобы обновить эти строки и сохранить их в базе данных.Этот код работает с моим dataTable, а функция сохранения данных работает нормально.Однако dataTable продолжает изменять свою нумерацию страниц и возвращается к странице 1 после выполнения моей функции функции сохранения.Я пытался поместить этот код в свой ajax.

"bStateSave": true

Я знаю, что этот код отлично работает в некоторых моих данных.Но в этом случае ничего не происходит ... Сейчас в настоящее время я пытаюсь найти новый способ, чтобы не допустить обновления таблицы данных таблицей dataTable и перехода на страницу 1.

Может быть, JS с жестким кодом очень поможет, ноЯ не знаю с чего начать.

Я разместил только необходимый код, который влияет на мой вывод.


Мой код для отображения данных из базы данных в данные Таблица

function refresh_Table(){
    $.ajax({
        headers:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
        url: "{{ route('printdate') }}",
        method: "GET",
        data:{}, 
        success:function(data)
        {

            $('#table_DTR').html(data);

            $('#table_time_records').DataTable({

                "serverSide": false,
                "retrieve": true,
                "bStateSave":true,
                "ordering": false

            });

        },
        error: function(xhr, ajaxOptions, thrownError){
            console.log(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText);
        }
    });

}

Мой код для сохранения данных

    $(document).on("click", ".btnApplyAlter", function(){

    var a = $('select[name=table_time_records_length]').val();
    validation_altered_data();    
    if(counter_alter_validation == 0)
    {
        $("select[name=table_time_records_length] option[value='365']").remove(); 
        $('select[name=table_time_records_length]').val(a).trigger('change');
        alert("Check the row you want to apply alter");
    }
    else if(checker_validation == "false")
    { 
        $("select[name=table_time_records_length] option[value='365']").remove(); 
        $('select[name=table_time_records_length]').val(a).trigger('change');
        alert(error);
    }
    else
    {
        var c = confirm("Apply this alteration?");
        if(c == true)
        {
            $('.reason').prop("disabled", false);

            $.ajax({
                headers:{'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
                url: "{{ route('applyalteration') }}",
                method: "POST",
                data: $('#alteration_data').serialize(), 
                beforeSend: function()
                {
                    document.getElementById('loader').style.display = "block";
                },
                success:function(data)
                {
                    if(data == "w")
                    {
                        alert("You don't have schedule for this day!");
                        $("select[name=table_time_records_length] option[value='365']").remove(); 
                        $('select[name=table_time_records_length]').val(a).trigger('change');   
                        $('.reason').prop("disabled", true);   
                    }
                    else
                    {
                        $("select[name=table_time_records_length] option[value='365']").remove(); 
                        $('select[name=table_time_records_length]').val(a).trigger('change');     
                        alert("Alteration Applied!");

                    } 
                },
                complete:function(){
                    refresh_Table();
                    document.getElementById('loader').style.display = "none";
                }
            }); 
        }
        else{
            $("select[name=table_time_records_length] option[value='365']").remove(); 
            $('select[name=table_time_records_length]').val(a).trigger('change');
        }
    } 
});

Мой код для проверки

function validation_altered_data()
{   
    var a = $('select[name=table_time_records_length]').val();
    $('select[name=table_time_records_length]').append("<option id='optioncount' value='365'></option>");
    $('select[name=table_time_records_length]').val(365).trigger('change');


    counter_alter_validation = 0;
    for(i = 1; i <=100; i++)
    {
        var sam = $('#timein' + i).val();
        var date = new Date(sam);
        month = date.getMonth()+1;

        if(month < 10)
        {
            var month_format = "0" + (date.getMonth()+1);
        }
        else
        {
            var month_format = (date.getMonth()+1);
        }

        var this_date = date.getDate();
        if(this_date >= 10)
        {
            var day_format = date.getDate();
        }
        else
        {
            var day_format = "0"+ date.getDate();
        }

        var res = date.getFullYear() + "-" + month_format + "-" + day_format;

        if($('#checkalt' + i))
        {
            if($('#checkalt' + i).prop("checked") == true)
            {
                var date_to_alter = $('#infos' + i).val().split("]]");

                counter_alter_validation++;
                if($('#txtReason_apply').val() == ""){
                    az = "1";
                    checker_validation = "false";
                    error="Reason for Alteration is Required!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                //If time in or time out IS EMPTY
                else if($('#timeout' + i).val() == "" || $('#timein' + i).val() == "")
                {
                    az = "2";
                    checker_validation = "false";
                    error="Time In field and Time Out field is required!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                else if($('#timeout' + i).val() <= $('#timein' + i).val())
                {
                    az = "3";
                    checker_validation = "false";
                    error="Time Out field must be greater than Time In field!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                else if(res != date_to_alter[0])
                {
                    az = "4";
                    checker_validation = "false";
                    error="Invalid Details, Check Time in and Time out!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                //Avoid saving the current date, If the user removes disabled attribute in the inspect elements
                else if(date_to_alter[0] == curDate)
                {
                    az = "5";
                    checker_validation = "false";
                    error="You can't alter the current date!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                else if($('#validateStatus' + i).val() == "Punch Altered")
                {
                    az = "6";
                    checker_validation = "false";
                    error = "You can't edit altered rows!";
                    $("select[name=table_time_records_length] option[value='365']").remove(); 
                    $('select[name=table_time_records_length]').val(a).trigger('change');
                    break;
                }
                else
                {
                    checker_validation = "true";
                }
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...