2009-10-01 29 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