У меня есть поле ввода в каждой строке моего jquery datatable. Я должен вызвать событие при изменении текста и ввести прессу для каждого из этих полей ввода. Загрузка jquery datatable с использованием обработки с помощью сервера. Прежде чем без использования обработки на стороне сервера события поля ввода работали нормально !, что заставляет событие молчать Теперь?«keydown» и «change» события не работают для данных jquery datatables
События я использовал до ---
$('#txtQty').keydown(function (e) {
alert("keydown");
}
$('#txtQty').change(function() {
alert("Change");
}
же слушатели я использовать после обработки на стороне сервера прикладной.
Jquery сетка детали- клиентской обработки на сторону и добавление окна ввода ~
@foreach (var item in Model)
{
<tr>
.
.
.
.
.
.
@if (item.Qty <= 0)
{
<td>
<input class="inputs" id="txtQty" type="text" [email protected] />
</td>
}
}
Serverside обработка и поле ввода наносится на Перейти-
$('#grid').dataTable({
"bServerSide": true,
"sAjaxSource": "../myaction/AjaxHandler",
"bProcessing": true,
"scrollY": 385,
"scrollX": true,
"scrollCollapse": true,
"jQueryUI": true,
"bJQueryUI": true,
"sDom": 'lfrtip',
"aoColumns": [
{ "sName": "dfgdfg" },
{ "sName": "dfgdfg" },
{ "sName": "hhh" },
{
"sName": "Qty",
"mRender": function (sName) {
return '<input class="inputs" id="txtQty" type="text" value='+ sName +' />';
},
},
{ "sName": "Category" },
{ "sName": "Comment" }
],
"oLanguage": {
"sProcessing":'Processing.....'
}
});
У вас есть несколько элементов с таким же ID 'txtQty', не так ли? Если это так, замените '$ ('# txtQty'). Keydown' с, например,' $ ('. Input'). Keydown' – Regent
@Regent попробовал, он не работал! – flute
Из-за динамически созданных элементов используйте '$ (document) .on ('keydown', '.inputs', function (e)' вместо этого. – Regent