Как отобразить выпадающий список поля поиска в datatable? - PullRequest
0 голосов
/ 13 декабря 2018

Я использую таблицу данных, также я отображаю несколько запросов .

Я отображаю записи как

Selectsearch 1  | Selectsearch 2 // this is the select dropdown for filter

id | Name | Mobile     | Email         | Action
1  | abc  | 1234567887 | abc@gmail.com | cancel image icon
2  | qwe  | 1234563423 | zxc@gmail.com | new image icon

Выберите поиск 1 для поиска по электронной почте и выберите поиск 2 для столбца действий.

поиск по электронной почте работает отлично , потому что я получаю правильный выпадающий список, например

abc@gmail.com
zxc@gmail.com

, но поиск действий не работает, потому что я не получаю правильное падение.вниз. Я получаю в раскрывающемся списке, как

cancel">cancel
new">new

Мой код действия похож на

if($row->status == 1){
   $action='<a href="javascript:void(0);" class="s_icon_set tooltip_ cancel"><img src="'.base_url('/assets/images/icons/cancel.png').'"><span class="tooltiptext_">Cancel</span></a>';
}
else{
    $action='<a href="javascript:void(0);" class="s_icon_set tooltip_ cancel"><img src="'.base_url('/assets/images/icons/cancel.png').'"><span class="tooltiptext_">new</span></a>';
}

Ниже приведен код данных с поиском

$('#report_list').DataTable({
   initComplete: function () {
   this.api().columns("4").every( function () {
   var column = this;
   var select = $('<select><option value="">All</option></select>')
      .appendTo( $("#status_menu_placeholder").empty() )
      .on( 'change', function () {
   var val = $.fn.dataTable.util.escapeRegex(
             $(this).val()
           );

   column
   .search( val ? '^'+val+'$' : '', true, false )
   .draw();
    } );

   column.data().unique().sort().each( function ( d, j ) {
   select.append( '<option value="'+d+'">'+d+'</option>' )
  } );
} );

this.api().columns("5").every( function () {
var column = this;
var select = $('<select><option value="">All</option></select>')
.appendTo( $("#select_filter_emp").empty() )
.on( 'change', function () {
var val = $.fn.dataTable.util.escapeRegex(
$(this).val()
 );
column
.search( val ? '^'+val+'$' : '', true, false )
.draw();
 } );
 column.data().unique().sort().each( function ( d, j ) {
 select.append( '<option value="'+d+'">'+d+'</option>' )
                } );
            } );

Я проверил все и заметил, что если нам нужно отобразить текст в раскрывающемся списке, то это не должен быть текст при наведении.Я имею в виду.Я отображаю текст при наведении изображения в столбце действий.Если пользователь наведет курсор на иконку отмены изображения, текст отмены отобразится во всплывающей подсказке.вот почему я получаю проблему ... Есть ли способ решить эту проблему?Я имею в виду зависший текст должен отображаться в раскрывающемся списке?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...