使用JQuery UI动态生成Dialog代码如下:
MVC Control:
public ActionResult Create()
{
return PartialView();
}
MVC View:
@model NetworkGrain.Models.Action
<div id="divCreate"> //找到解决方法后添加的以前的视图只是下面的form
<form method="post" id="create" action="">
<dl>
<dt>编号:</dt>
<dd><input id="A_ID" name="A_ID" type="text" class="required" /></dd>
<dt>标题:</dt>
<dd><input id="A_Caption" name="A_Caption" type="text" class="required" /></dd>
<dt>控制器:</dt>
<dd><input id="A_Control" name="A_Control" type="text" class="required" /></dd>
<dt>父编号:</dt>
<dd><input id="P_ID" name="P_ID" type="text" class="required" /></dd>
<dt>停用:</dt>
<dd><input id="A_Status" name="A_Status" type="checkbox" /></dd>
<dt>说明:</dt>
<dd><input id="A_Comment" name="A_Comment" type="text" /></dd>
<dd>@Html.ValidationSummary(true, "创建失败,请更正错误并重试。")</dd>
</dl>
</form>
</div>
javascript:
function AddFunction() {
$.ajax({
type: "GET",
url: "/Action/Create",
cache: false,
global: false,
success: function (data) {
var dlg = $(data);
dlg.dialog({
title: "添加权限",
modal: true,
create: function () {
$("#A_ID").numeral(); //限制input只能输入数字,里面有事件映射
},
close: function () { //这是解决问题的方法将动态添加的删除。
$("#divCreate").remove();
},
buttons: {
"关闭": function () {
$(this).dialog("close");
}
}
});
}
});
return false;
}
问题分析:
当对话框第一次显示没有任何问题,但是第二次显示的时候就不响应了。
可能的原因,添加相同元素相同的事件给过滤掉了