我有两个简单的页面。
索引包含一个带有锚标记的超链接,其中jquery具有定义的函数点击。 该页面还包含一个名为“容器”的DIV
点击功能使用.dialog()
打开一个dailog对话框页面本身是第二页,我尝试关闭对话框,但这不起作用。
你能解释一下为什么这不起作用吗?
======来自索引页面的代码===========
<script type="text/javascript">
$().ready(function () {
$("#LaunchModal").click(function () {
$.get(
"Home/RandomPopupView",
function (htmlResult) {
$("#RandomModal").remove(); //In case this is the second time they've requested the dialog.
$("#container").append(htmlResult);
$("#RandomModal").dialog();
}
);
return false; //To keep the default behavior of the anchor tag from occuring.
});
});
</script>
<a href="" id="LaunchModal">Launch Modal!</a>
<div id="container">
====== DIALOG PAGE中的代码===========
<div id="RandomModal">
<script type="text/javascript">
$().ready(function () {
//TEST TRY TO CLOSE THE DIALOG DIV IMMEDIATELY FROM WITHINN THE DIV ITSELF
$("#RandomModal").dialog("close"); //CLOSE DOES NOT WORK
$("#submitModal").click(function () {
var SomeString = $("#SomeString").val()
$.post("/Home/RandomPopupViewPOST",
{
SomeString: SomeString
},
function (html) {
$("#RandomModal").empty();
$("#RandomModal").append(html);
});
});
});
</script>
</div>
=======================================
答案 0 :(得分:1)
get方法不会加载您需要加载iframe以在第二页上触发准备事件的页面
所以我希望我们将您的代码放在主页面中并使用直播活动
$("#submitModal").live("click",function () {
var SomeString = $("#SomeString").val()
$.post("/Home/RandomPopupViewPOST",
{
SomeString: SomeString
},
function (html) {
$("#RandomModal").empty();
$("#RandomModal").append(html);
});
});
虽然我不确定这是正确的解决方案,但是我读的代码越多,我就越不明白你想要做什么
答案 1 :(得分:1)
如果要加载并执行其他脚本,则应使用$.getScript()
。
请参阅jQuery网站上的文档,以便更好地了解如何使用它:jQuery.getScript()
答案 2 :(得分:0)
将$("#RandomModal").dialog("close");
代码保留在索引页面上。