0

我不能完全让这个 javascript 工作 - 它被问了一百万次,我已经看过很多关于 SO 的不同示例,但是......无济于事。

这是代码:

// modifed from http://stackoverflow.com/a/6520723/2128691

var count = 1;
var goal = 0;

$(function() {
    $('#add_goal').click(function() {
        addGoal();
    });
});

$(function() {
    $('#remove_goal').click(function() {
        removeGoal();
    });
});


function addGoal()
{
    $('#goal_form').append('<tr></tr>');
    $('#goal_form').append('<td class="goal_field fields"><input id="goal_goal" name="goal[goal]" placeholder="Students should..." size="30" type="text" /></td>');
    count++;
}

function removeGoal() 
{
    $('tr').remove();
    count--;
}

它非常接近工作,所以我认为这一定只是一个小问题——我可以根据需要添加任意数量的字段,并且可以删除一行,但只能删除一次。删除一次目标后,再次单击该链接不会执行任何操作(尽管“添加”仍然有效)。

4

2 回答 2

2

这一行:

$('tr').remove();

将删除所有行。

此外,这些行没有意义

$('#goal_form').append('<tr></tr>');
$('#goal_form').
   append('<td class="goal_field fields"><input id="goal_goal" name="goal[goal]" placeholder="Students should..." size="30" type="text" /></td>');
  1. 您没有将td附加到tr中。
  2. #goal_form?如果不是,您不能只向其附加一个表格行
于 2013-08-21T13:54:08.640 回答
0

得到了这个答案的帮助:

https://stackoverflow.com/a/6570175/2128691

function removeGoal() 
{
    $('#goal_form tr:last').remove();
    count--;
}
于 2013-08-21T14:17:41.977 回答