【发布时间】:2011-02-04 22:42:02
【问题描述】:
我确定我以前在某个地方看到过示例,但我似乎找不到它们。我有一个有 5 个按钮的页面。我希望每个按钮都加载不同的表单,而无需刷新。我可以使用 UpdatePanels,但这听起来有点矫枉过正(而且带宽成本很高)。我想一次性加载所有表单,因此单击按钮基本上会隐藏/显示相关表单。我不能使用html() 方法(按原样)执行此操作,因为表单可能非常复杂并且包含回发到服务器的 ASP.NET 控件。相反,我将表格放在单独的divs 中。
我试着做这样的事情:
case "button1":
$(".current_form").show();
$("#divForm1").prependTo($('.current_form'));
break;
case "button2":
$(".current_form").show();
$("#divForm2").prependTo($('.current_form'));
break;
这样做的问题是旧形式总是保留在那里,而不是被替换。
是否可以将div 附加到 JQuery 中的给定容器?还是有其他更好的方法?
感谢您的帮助
完整代码
<script type="text/javascript">
$(document).ready(function() {
$("button").button();
$("button").click(function() {
switch ($(this).attr("value")) {
case "button1":
$('.current_form').empty().show();
$("#divForm1").clone().prependTo($('.current_form'));
break;
case "button2":
$('.current_form').empty().show();
$("#divForm2").clone().prependTo($('.current_form'));
break;
}
return false; //prevent postback
});
});
</script>
我正在使用这些 div 进行测试:
<div class="current_form">
<div id="divForm1" >
This is div 1
</div>
</div>
<div class="current_form">
<div id="divForm2" >
This is div 2
</div>
</div>
【问题讨论】:
标签: asp.net jquery forms html replace