2009-12-23 33 views
1

我有一个嵌套属性的模型,需要通过Javascript添加新项目。这是我想出的:Rails嵌套属性javascript添加另一个

$('.add_task').click(function() { 
    var last_item = $('#tasks li:last'); 
    last_item.after('<li>'+last_item.html().replace(/\d+(?=\_)|\d+(?=\])/g, function(match) {return parseInt(match)+1;})+'</li>'); 
}); 

它做的工作就好了,但想知道是否有人有更好的建议。

干杯!

回答

4

检查出瑞安贝茨的'complex-form-examples回购GitHub - 他有几个选项在不同的分支机构,甚至使用JQuery(我的最爱)的不显眼的版本。

+0

这是非常有帮助的bensie,谢谢! – Gerhard 2009-12-23 20:29:48

0

我只是把一个更通用的功能:

function add_new_item(element) { 
    var e = $(element); 
    var tag = e.get(0).tagName.toLowerCase(); 

    e.after(
    $('<'+tag+'>'+'</'+tag+'>').append(e.html().replace(/\d+(?=\_)|\d+(?=\])/g, function(match) {return parseInt(match)+1;})) 
); 
}