当我在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
!
有没有人尝试过,或者看到了解决方案!?
发布于 2014-01-19 22:15:03
$("#jtable-create-form input").keypress(function(e) {
if(e.which == 13) {
$("#AddRecordDialogSaveButton").trigger('click');
}
});
发布于 2015-11-27 05:36:43
我发现以下方法似乎是可行的:
$('#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
(但不适用于parent>child表)。
说明:
我指定了一个回调函数(post table load),它确保在将keydown处理程序连接到编辑和创建对话框之前它们已经存在。
然后,仅当焦点位于适当窗体的子级的输入中时,我才附加一个keydown处理程序。
请注意,我附加了两个处理程序,一个放在创建表单上,另一个放在编辑表单上,并且我特别注意了键代码13,它是ENTER键。
如上所述,唯一的问题似乎是,如果您有parent>child jtables,按enter键似乎会触发对空父节点和子节点的创建/更新,这是完全不可接受的……但是如果你只有一个级别的jtable,这个代码应该可以工作。
(仅在chrome中测试)
https://stackoverflow.com/questions/21223189
复制相似问题