#javascript #jquery #jquery-ui #jquery-events
#javascript #jquery #jquery-пользовательский интерфейс #jquery-события
Вопрос:
Я не могу отфильтровать данные, которые находятся в таблице записей, после ввода нужного мне значения поиска в любом поле и нажатия enter.
У меня есть два поля для ввода данных, продавец и клиент, и я хотел бы создать фильтр из этих полей, если я вставлю продавца и нажму клавишу ввода, отфильтруйте данные таблицы от продавца, введенного в текстовое поле, до продавца, если я введу имя клиента в клиентеполе name и нажмите Enter, извлеките данные клиента через фильтр.
Любая помощь приветствуется
Я уже пытался сделать это таким образом, но это сработало не очень хорошо, оно фильтрует только вставленное поле, и когда я нажимаю кнопку ввода, оно не выполняет никакой работы.
ниже фрагмент кода, который я пробовал:
$("#GrupoEmpresaAutoComplete").on("keyup", function () {
searchText = $(this).val();
searchText = searchText.toLowerCase();
searchText = searchText.replace(/s /g, '');
$('.CelebreTableRow > td').each(function () {
var currentTdText = $(this).text(),
showcurrentTd = ((currentTdText.toLowerCase()).replace(/s /g, '')).indexOf(searchText) !== -1;
$(this).toggle(showcurrentTd);
});
});
Форма:
<div id="Filtros" class="accordion-body collapse in">
<div class="accordion-inner">
<div class="well">
<form action="@Url.Action("Filtros")" method="POST" id="formFiltros">
<fieldset>
<div class="row-fluid">
<div class="span6">
@Html.LabelFor(x => x.IdGrupoEmpresa, "Salesman")
<div class="controls">
@Html.TextBox("GrupoEmpresaAutoComplete", "", new { placeholder = "Digite um vendedor(cnpj ou nome)..." })
@Html.HiddenFor(x => x.IdGrupoEmpresa)
</div>
</div>
<div class="span6">
@Html.LabelFor(x => x.IdCliente, "Customer")
<div class="controls">
@Html.TextBox("ClienteAutoComplete", "", new { placeholder = "Digite um adquirente..." })
@Html.HiddenFor(x => x.IdCliente)
</div>
</div>
</div>
}
</fieldset>
</form>
Ответ №1:
Определить нажатие клавиши по event.which
или event.keyCode
значение, которое должно быть 13
для Enter
$("#search-bar").on("kepress", function(e) {
var k = event.keyCode || e.which;
if (k == 13) {
// filter and show result
}
}