В настоящее время мой 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";
}
}
}
}
}