【发布时间】:2014-02-24 08:00:39
【问题描述】:
我有一个函数可以在点击链接时显示带有 JqGrid 的表单对话框。
我的代码是这样的:
HTML:
<div id="mainDialog">
<a href='#' class='showList'>Show list [Ctrl+L]</a>
....
</div>
jquery:
$('#mainDialog .showList').click(function(){
showDialog({
formid:"The_List",
path:"folder/subfolder",
height:820,
open:function(){}
});
});
表单对话框The_List 来自另一个文件。在那个文件里面,我有这样的东西:
$("#dlgThe_List").bind('dialogopen',function(e){
$("#listGrid").jqGrid({
//set the grid properties
....
});
});
使用它,它可以在显示对话框的地方正常工作,其中 JqGrid 表已被填充。
但是,当我使用下面的代码触发上面的click 函数时,会显示对话框但JqGrid 表甚至没有出现:
$('#mainDialog').on('keydown', function(e){
if (e.keyCode == 76 && e.ctrlKey){
e.preventDefault();
$('#mainDialog .showList').trigger('click');
}
});
我的第一个想法是 showDialog 脚本在 jqGrid 创建之前完成。
但从逻辑上讲,我认为没有区别,因为使用快捷键时,点击功能仍然触发。
对此有任何澄清吗?
编辑: 我创建了与我的问题类似的JSFiddle demo,但不幸的是不支持 JqGrid。
【问题讨论】:
-
即使
$('#mainDialog #showList')也应该是$('#mainDialog .showList') -
抱歉,打错字了。我的代码应该是
$('#mainDialog .showList')
标签: javascript jquery html jqgrid