0

我在一个表单上有一个按钮,它有一个 onclick 事件处理程序来打开一个模式对话框表单:

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

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

这会在当前网格中添加一行并且效果很好。但是,我认为如果我在网格标题中将 Add 作为 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 UI - v1.10.2 - 2013-03-14 数据表 1.9.4

4

1 回答 1

1

看起来你必须使用委托:

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

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

于 2013-05-14T15:28:35.570 回答