2011-10-13 104 views
1

在我的ASP.net MVC 3.0 我有一個觀點看起來,我有代碼jQuery Accordion動態添加更多節?

<div id="accordion"> 
    @Html.Action("Action", "Controller") 
</div> 

@Ajax.ActionLink("Add Another Content", "Action", "Controller", new AjaxOptions 
{ 
UpdateTargetId = "accordion", 
InsertionMode = InsertionMode.InsertAfter, 
HttpMethod = "POST" 
}, new { @class = "standard button", id = "AddAnother" }) 

一節生成的HTML標記上面的代碼看起來像這樣

<div id="accordion"> 
<h3><a href="#"> Title</a> </h3> 
<div> Body Content </div> 
</div> 
<a href="Add" id="AddAnother"> Add</a> 

腳本我在我的頁面上是這樣的

$("#AddAnother").click(function() { 
    $("#accordion").accordion('destroy'); 
     $("#accordion").accordion(); 
     $("#accordion").accordion("option", "active", ":last"); 
}); 

每次點擊添加鏈接時,它會在主要ac中添加另一個h3/div部分cordion section作爲波紋管

<div id="accordion"> 

<h3><a href="#"> Title</a> </h3> 
    <div> Body Content </div> 

<h3><a href="#"> Title</a> </h3> 
    <div> Body Content </div> 

<h3><a href="#"> Title</a> </h3> 
    <div> Body Content </div> 

</div> 

我的問題是。 何時添加鏈接點擊 它經歷了三個步驟。

1)Destroy accordion 

2)Recreate Accordion 

3)Add New H3/Div 

我不想這樣

我要的就是按照這個順序

1) destroy accordion 

2) Add new h3/div to the block 

3) Recreate Accordion 

任何一個可以幫助我在我的紙條來糾正這

$("#AddAnother").click(function() { 
    $("#accordion").accordion('destroy'); 
     $("#accordion").accordion(); 
     $("#accordion").accordion("option", "active", ":last"); 
}); 

回答

0
@Ajax.ActionLink("Add Another Content", "Action", "Controller", new AjaxOptions 
{ 
    UpdateTargetId = "accordion", 
    InsertionMode = InsertionMode.InsertAfter, 
    HttpMethod = "POST", 
    OnBegin = "destroyAccordion", 
    OnSuccess = "createAccordion" 
}, new { @class = "standard button", id = "AddAnother" }) 

JS:

function destroyAccordion() { 
    $("#accordion").accordion('destroy'); 
} 

function createAccordion() { 
    $("#accordion").accordion(); 
    $("#accordion").accordion("option", "active", ":last"); 
} 
+0

你不知道你做了什麼。我非常感謝你 – HaBo

+0

如果你不介意我可以和你聊天,我還有一個問題要問。 [鏈接](http://stackoverflow.com/questions/7732664/jquery-value-in-h3-tag-replace-by-value-from-text-box)。當上面的鏈接廣告更多h3/div到手風琴。我想用文本框的值替換文本h3。 – HaBo

+0

你的第二個問題似乎已經得到了回答 –