Событие обмена данными для поля ввода - PullRequest
0 голосов
/ 09 апреля 2020

В моем проекте есть поля ввода со специальным классом (date_input_field). При изменении этих полей отформатируйте введенные пользователем данные. Проблема в том, что эти поля работают абсолютно везде, кроме DataTables. Я попытался использовать rowCallback в моей таблице данных, но это не помогло. Почему? И как я могу это исправить?

$(".date_input_field").change(function () {    
  ...format the data
});

var table2 = $("#stopsTable").DataTable({
  ajax: {
    url: "/api/stops/" + confirmationId,
    dataSrc: ""
  },
  columns: [                          
    {
      data: "date1",
      render: function (data) {
        var arr = data.split("T")[0].split("-");

        return "<input class='form-control date_input_field' type='text' value='" + arr[2] + "-" + arr[1] + "-" + arr[0]+"'/>" ;}}
  ],
  order: [[0, "asc"]],
  scrollY: '50vh',
  scrollCollapse: true,
  paging: false,
  rowCallback: function (row, data) {
    $(row).css("cursor", "pointer");
    $(".date_input_field").change(function () {
      $(this).attr("value", "01"); 
    });
  }

});

1 Ответ

0 голосов
/ 09 апреля 2020

Извините за глупый вопрос. Я попробовал код ниже, и он работает.

rowCallback: function (row, data) {
  $(row).css("cursor", "pointer");
  $(row).on("change", ".date_input_field", function () {
    var input = $(this);
    input.val("1111111111");
  });                      
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...