当我编辑或添加新帖子到jQuery jTable时,我希望当我完成后按Enter jquery点击保存按钮!
我正在尝试这样的事情,但它没有用!
$("#jtable-create-form > div > div > input").keyup(function(e) {
if(e.keyCode == 13){
$("#AddRecordDialogSaveButton").click();
}
});
html结构是这样的:
<div id="jtable-create-form"> // poput div
<div> //form wraper div
<div> //input wraper div
<input>
</div>
</div>
</div>
但是,当我尝试提醒$("#jtable-create-form > div > div > input").val()
时,我得到undefined
!
任何人都试过这个,或者可能会看到解决方案!?
答案 0 :(得分:0)
$("#jtable-create-form input").keypress(function(e) {
if(e.which == 13) {
$("#AddRecordDialogSaveButton").trigger('click');
}
});
答案 1 :(得分:0)
我发现以下内容似乎有效:
$('#tablediv').jtable('load', {}, function(data) {
$(document).on('keydown', '#jtable-create-form input', function(ev) {
if(ev.which === 13) {
$("#AddRecordDialogSaveButton").trigger('click');
}
});
$(document).on('keydown', '#jtable-edit-form input', function(ev) {
if(ev.which === 13) {
$("#EditDialogSaveButton").trigger('click');
}
});
});//end load form
(但不表示父&gt;子表)。
<强>解释强>
我指定了一个回调函数(post table load),它确保在将keydown处理程序连接到它们之前存在编辑和创建对话框。
然后,只有当焦点位于相应表单的子项的输入中时,才会附加keydown处理程序。
请注意,我附加了两个处理程序,一个添加到创建表单,另一个添加到编辑表单,我特意查找键代码13,即ENTER键。
如上所述,唯一的问题似乎是,如果您有父&gt;子jtables,则输入键按下似乎触发创建/更新BOTH为空父母和儿童,这是完全不可接受的...但是如果你只有单级jtables这个代码应该可以工作。
(仅在镀铬中测试)