Поле поиска в datatable не работает на виртуальной клавиатуре (виртуальная клавиатура Mottie).Какова возможная причина и ее решение? - PullRequest
0 голосов
/ 17 мая 2019

В поле ввода поиска в таблице данных, когда я набираю текст с помощью физической клавиатуры, он выполняет поиск по умолчанию. Но когда я набираю текст с помощью виртуальной клавиатуры Mottie, она не выполняет поиск, а слово есть.

Я пытался изменить нажатие клавиш на keyup и keydown в jquery.keyboard.js

$('input[type="search"]').keyboard({
   function(base,$el) {
        base.$el.trigger(base.$preview.val());   
      }
   }); 

Нет сообщения об ошибке, но он не выполняет поиск по входному значению.

Ответы [ 2 ]

0 голосов
/ 17 мая 2019

Используйте обратный вызов change ( demo ):

$(function() {
  var table = $('#example')
    .on('init.dt', function() {
      $('input[type="search"]').keyboard({
        usePreview: false,
        change: function(e, kb) {
          table.search(kb.el.value).draw();
        }
      });
    })
    .DataTable();
});

Клавиатура инициализируется внутри обратного вызова init DataTable.Похоже, это не нужно, но лучше (с меньшей вероятностью вызвать ошибку JS).

0 голосов
/ 17 мая 2019

Я искал решение, но не вычитывал. : -)

Я только что решил эту проблему с помощью небольшого скрипта.

$('#example').DataTable();
$('input[type="search"]').on( 'focus', function () {
        table.search( this.value ).draw();
    });

пишу здесь для других и будущие ссылки.

...