我用jquery编写了以下代码:
$('input[type="text"]').keyup(
function (event) {
// Allow: backspace, delete, tab, escape, and enter
if (event.keyCode != 68 && event.keyCode != 186) return;
var textbox = $(this);
var clickAttr = textbox.attr('click');
if (clickAttr != undefined && clickAttr.indexOf('NumericTextBoxKeyPress') > -1) return;
var insertedValue = textbox.val();
insertedValue = insertedValue.replace(/a/g, 'SampleA');
insertedValue = insertedValue.replace(/b/g, 'SampleB');
textbox.val(insertedValue);
}
);
普通文本框没问题,但上面的代码不适用于jQGrid过滤的文本框!
你能指导我,如何将keyup函数绑定到jQGrid过滤的文本框?
答案 0 :(得分:1)
使用jquery live()绑定事件
$('input[type="text"]').live("click", function(){ .... });
答案 1 :(得分:1)
如果您有网格并希望在搜索工具栏的一个指定输入字段绑定事件,则可以使用dataEvents
searchoptions
的相应列colModel
(请参阅{ {3}})。有关代码示例,请参阅here。
如果您需要将某些事件(例如keyup
)绑定到网格搜索工具栏的所有输入字段,您可以执行以下操作:
var $grid = $("#list"); // the grid
// create the grid
$grid.jqGrid({
//... jqGrid options
});
// create the searching toolbar with the line like
$grid.jqGrid('filterToolbar', {defaultSearch: 'cn'});
// get all input fields of the searching toolbar
var $toolbarRow = $grid.closest(".ui-jqgrid-view")
.find(".ui-jqgrid-htable .ui-search-toolbar");
// make the binding of all input fields to the event which you need
$toolbarRow.find('input[type="text"]').keyup(function (e) {
// the code of your event handler
});