2013-05-14 53 views
0

我有有一个onclick事件处理程序打开一个模式对话框形式的表单上的按钮:jQuery的数据表模式窗体

<button id="btnAddNewRow">Add</button> 

$("#btnAddNewRow").click(function(){ 
$("#mydialog-form").dialog("open"); 
} 
); 

这增加了一行,当前电网和行之有效的。但是,我认为电网会更好看,如果我有添加在网格标题作为一个div所以我把它像这样:

"sDom": '<"H"l<"btnAddNewRow">r>t<"F"<"clear">>', 
"iDisplayLength": 25, 
"fnInitComplete": function() { 
$("div.btnAddNewRow").html("<div id='btnAddNewRow' 
    class='tblAction'><a href='#'>Add</a></div>"); 
} 

形式开辟了没关系,在控制台中没有错误。但是当我点击标题中的“添加”时,模式表单不会打开,但会触发附加到模式表单上的提交按钮的ajax。这是错误的,因为显然没有进入。

我不明白为什么模态窗体的行为发生了变化?

我使用:

jQuery用户界面 - v1.10.2的 - 2013年3月14日 数据表1.9.4

+0

你似乎使用$(“div.btnAddNewRow”),但在你的示例中,btnAddNewRow是一个id属性,而不是类 – 2013-05-14 15:30:53

回答

1

看起来你必须使用委托:

$(document).on("click", "#btnAddNewRow", function() { 
    $("#mydialog-form").dialog("open"); 
}); 

但请注意,在页面上下文中ID必须是唯一的,如果您有多个添加按钮,请改为使用class。

+0

是的,这是它 – Spike1957 2013-05-15 08:37:01