2017-02-15 3 views
0

Это моя KeyUp функция для настольного фильтратаблица фильтра строк с помощью окна поиска на кнопку мыши

var $rows=$('#roleListTable tr'); 
     $('#searchroleName').keyup(function() { 
     var val = $.trim($(this).val()).replace(/ +/g, ' ').toLowerCase(); 
     $rows.show().filter(function() { 
     var text = $(this).text().replace(/\s+/g, ' ').toLowerCase(); 
     return !~text.indexOf(val); 
    }).hide(); 
}); 

Я пытаюсь эту же функцию на кнопку мыши

var $rows=$('#roleListTable tr'); 
     $('#searchGo').click(function() { 
     var val = $.trim($('#searchroleName').val()).replace(/ +/g, ' ').toLowerCase(); 
     $rows.show().filter(function() { 
     var text = $('#searchroleName').text().replace(/\s+/g, ' ').toLowerCase(); 
     return !~text.indexOf(val); 
    }).hide(); 
}); 

Что я сделал не так? И Может кто-нибудь дать идею, когда я нажимаю кнопку cancel. Полная таблица должна отображаться.

https://jsfiddle.net/hzrd8b8t/

ответ

0
var text = $(this).text().replace(/\s+/g, ' ').toLowerCase(); 
$(this) != $('#searchroleName'); 
$(this) == $rows; 

Так просто держать $ (это) в этой строке кода. Вы можете использовать console.log() для его проверки.

+0

без удаления KeyUp функции хау его возможно – user7566666

+0

Зачем вам обоим, в то время как 2 функции выполняют одни и те же вещи? – Rio

+0

Я не хочу keyup function.I хочу только кнопку click функция. – user7566666

0

Вы должны показать строки после нажатия на кнопку Отмена ... Просто измените

$(".searchClear").click(function(){ 
     $('#searchroleName').val(""); 
     }); 

К

$(".searchClear").click(function(){ 
    $('#searchroleName').val(""); 
    $('#roleListTable tr').show(); 
}); 

Смотрите обновленный скрипку here

+0

thanks.Помощь мне сделать фильтр на 'go'button click – user7566666

+0

Достаточно того, что вы сделали на клавиатуре .. примените ту же логику к нажатию кнопки« Go ». Enjoye – nrsharma

Смежные вопросы