我有一个包含表格的div。我使用jquery UI对话框将该div用作对话框。
表格中有按钮。我想在单击按钮时调用附加到视图的JS文件中的方法。
对话框无法找到功能。
HTML
<div id="Applon" title="Edit Slab" style="width: 100%; background-color: #33CCCC;">
<form action="\" id="frmDtl">
....
......
<button id="dtlCancel" type="button" onclick="this.parent.CancelDetails()" style="font-weight: bold; color: #3333FF; width:60px;">
<div><span>Cancel</span></div>
</button>
</form>
</div>
JS档案
$(function() {
// Dialog
$("#Applon").dialog({
autoOpen: false,
height: 370,
width: 650,
modal: true,
buttons: {
Close: function() {
$(this).dialog('close');
//$('input:visible:enabled:first').focus();
}
},
close: function() {
}
});
});
function CancelDetails() {
....
}
我在VS2008的MVC2视图中使用它。视图有两种形式,其中一种是对话框。
如何在单击按钮时让对话框在JS文件中找到我的函数?
请帮助。
答案 0 :(得分:1)
首先,尝试远离内联Javascript并使用选择器来启动您的功能。例如,
$(function() {
$("#dtlCancel").click(function(){
CancelDetails();
});
});
如果来自单独的资源(PartialView),您可以将其放在模态内容中。
此外,您的对话框是IFrame还是仅仅是模式?如果它只是一个模态,它仍然是它来自的页面的一部分,并且不需要引用“父”。认为它是一个位置很好的div,似乎是另一个页面。
修改强>
查看您的JS代码文件,看起来您仍然缺少$(function(){statement
的结束括号您的密码:
$(function() {
// Dialog
$("#Applon").dialog({
autoOpen: false,
height: 370,
width: 650,
modal: true,
buttons: {
Close: function() {
$(this).dialog('close');
//$('input:visible:enabled:first').focus();
}
},
close: function() {
}
});
//From your code above (next line)
}
//Replace the above with this - basically add a ); after the curly brace
});
function CancelDetails() {
....
}