2009-10-01 46 views
4

我使用下面的表單生成器(http://dontlink.me/formbuilder/),使許多改變它的工作方式我想最後李前追加。如何在下拉列表中

一個我想要它做的事情是,當你添加新的表單字段,我要放置在列表...目前,它們被放置在頂部底部是表單字段。

這是將新立到列表中的代碼...我已經簡化它到實際執行添加部分...

var result = '<li>The new form field code goes here....</li>'; 
var into = $("#form_builder_panel ol"); 
$(into).prepend(result); 

出於某種原因,默認情況下它們添加在代碼中添加一個「li」標籤並賦予它一類「最後一個孩子」。

<div id="form_builder_panel"> 
<form method="post" action="preview.php" class="fancy"> 

    <fieldset class='sml'> 
     <legend>Built Form</legend> 
     <ol> 
      <li class="last-child"></li> 
     </ol> 
    </fieldset> 

現在我試圖改變的代碼,第三行以下:

$(into).append(result); 

但是,進而提出了「最後的孩子」裏在頂部和腳本停止工作......

所以我的問題是,我怎麼讓這個它附加一個新麗到列表中,但增加了它的「最後的孩子」禮上面?

希望我正在感:)

回答

6

什麼每個 匹配元素的前約

before function

插入內容。

$(".last-child").before(result); 

如果你想每次都追加它作爲最後的李再從裏刪除類「最後的孩子」,並使用:last-child選擇像

$(".sml li:last-child").after (result); 
+0

完美的作品一種享受!現在唯一的問題是下面的行不工作 變量$ NEWROW = $(進).find(「禮:第一」); 在原來的代碼將在頂部創建新LI,然後用上面的代碼中選擇它......我該如何選擇倒數第二個李現在,我的最後一個孩子之前添加新的LI? – 2009-10-02 03:02:30

0

確實$(into).innerHtml = result;工作?

+1

哦,那實際上會覆蓋所有舊的內容,但如果你沒有$(進).innerHtml = $(進).innerHtml +結果;它不應該覆蓋。 – 2009-10-01 05:17:33