单击链接时,我调用了以下函数。该函数通过ajax在div上加载新页面。
<pre><code>
function getSummary(id)
{
loadPage_signup = "new_user.php";
loadPage_benef = "readercycle_benef.php";
$.ajax({
url:"new_user.php",
dataType: 'html',
success:function() {
$("#readercycle_benef_container").load(loadPage_benef);
$("#rc_main_header_login").load(loadPage_signup);
}
});
}
</code></pre>
在这个通过ajax新加载的页面中,存在一个取消按钮。单击此取消按钮时,应删除加载了ajax的页面,并且必须保留原始div内容。
我编写了以下功能,旨在实现此功能。但这不起作用。删除了ajax加载页面,但原始div没有提供子项。 请帮我理解出了什么问题!
<pre><code>
function closeDiv(id) {
$(id).remove();
$ret = $("#rc_main_header_login").show();
$("#rc_main_header_login").nextAll().show();
}
<input type="button" id="button_cancel" name="btnCancel" value="cancel" onClick="closeDiv('#rc_main_header_newuser')" />
</pre></code>
答案 0 :(得分:1)
您需要将原始内容保存到全局变量中,以便稍后恢复。
<强> jQuery的:强>
var original_content_benef = '';
var original_content_rc = '';
function getSummary(id)
{
loadPage_signup = "new_user.php";
loadPage_benef = "readercycle_benef.php";
$.ajax({
url:"new_user.php",
dataType: 'html',
success:function() {
// save original content
original_content_benef = $("#readercycle_benef_container").html();
original_content_rc = $("#rc_main_header_login").html();
// replace content
$("#readercycle_benef_container").load(loadPage_benef);
$("#rc_main_header_login").load(loadPage_signup);
}
});
}
function closeDiv(id) {
$(id).remove();
// restore original content
$("#readercycle_benef_container").html(original_content_benef);
$("#rc_main_header_login").html(original_content_rc);
// do your showing
$ret = $("#rc_main_header_login").show();
$("#rc_main_header_login").nextAll().show();
}
<强> HTML:强>
<input type="button" id="button_cancel" name="btnCancel" value="cancel" onClick="closeDiv('#rc_main_header_newuser')" />