我有一个名为xyz的局部视图,我有很多按钮,它实现了不同的功能。
$('#dialog').dialog({
autoOpen: false,
width: 700,
resizable: false,
modal: true,
open: function (event, ui) { $(this).load('<%=Url.Action("PushButton","Body",new {Parm="text",Parm1="Value"}) %>'); },
position: 'top'
});
我在jQuery模式对话框中打开了这个局部视图XYZ。我在partialview XYZ中有一些按钮。我没有明白如何解雇事件。就像我想通过单击在Partialview中创建的按钮来关闭对话框一样。
答案 0 :(得分:1)
加载完成后,您需要连接按钮事件。您可以向加载项添加回调以通知您:http://api.jquery.com/load/
答案 1 :(得分:0)
我遇到了同样的问题。我希望我的部分视图是独立的,并使用Ajax提交。它与创建用户控件类似。
我现在正计划使用发布者/订阅者机制从我的部分视图中收听事件。父级可以侦听此事件并关闭对话框。
JavaScript中观察者模式的另一篇好文章是 Learning JavaScript Design Patterns, The Observer Pattern 。
答案 2 :(得分:0)
以下是load事件回调的代码:
$('#dialog').dialog({
autoOpen: false,
width: 700,
resizable: false,
modal: true,
open: function (event, ui) { $(this).load('<%=Url.Action("PushButton","Body",new {Parm="text",Parm1="Value"}) %>', function(){
$("#buttonId").click(function(){
//Stuff you want to do with the button here
});
}); },
position: 'top'
});
您也可以在document.ready中执行此操作:
$(document).on('click', '#idOfControlInsideDialog', function() {
//Stuff you want to do here
});