0
我确定我以前在某处看过示例,但似乎无法找到它们。我有一个有5个按钮的页面。我希望每个按钮都可以加载不同的表单,而无需刷新。我可以使用UpdatePanels,但这听起来有点矫枉过正(而且带宽成本高昂)。我想一次加载所有表单,因此单击按钮基本隐藏/显示相关表单。我不能使用html()
方法(按原样)执行此操作,因为表单可能非常复杂,并且包含回发到服务器的ASP.NET控件。相反,我把这些表格放在个人divs
中。JQuery - 添加/删除表单和div
我试图做这样的事情:
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>
感谢您的回复。我尝试了这个方法,我想我更接近一些。 'current_form'的背景显示出来,但它是空白的。如果我删除'empty()'方法,那么表单会显示出来,但它会一直添加到它而不是替换它。 – XSL 2010-04-06 18:26:44
@superexsl - 这不应该发生,也许是一个失踪的地方,你可以发布完整的代码吗? – 2010-04-06 18:30:44
嗨,尼克,我用更多的代码更新了帖子。 – XSL 2010-04-06 18:37:37