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