Jquery从表单中删除生成的字段

时间:2013-12-27 14:19:05

标签: javascript jquery html forms

我有一个表单,可以在用户输入信息时根据需要生成字段。 我还有一个函数可以将数据库中的userdata加载到要编辑的表单中。 但是,一些用户拥有的数据少于其他用户,并且在加载数据时会留下额外的字段。我知道我可以使用$(text).remove来消除不需要的字段,但我不知道如何选择除了每个部分中的第一个字段之外的所有字段?

除了第一个Background_Text和Background_Rank字段之外,我需要删除所有表单的部分。

<tr class="end_background">
    <td class="col1">
        Background 1:
    </td>
    <td class="col2">
        <input class="background_text_1" name="background_text_1" type="text">
    </td>
</tr>
<tr class="end_background">
    <td class="col1">
        Background 1:
    </td>
    <td class="col2">
        <input class="background_text_1" name="background_text_1" type="text">
    </td>
</tr>
<tr>
    <td class="col1">Background Rank 2:</td>
    <td class="col2">
        <input class="background_rank_2  spinner" name="background_rank_2" type="number" value="2">
    </td>
</tr>
<tr class="end_background">
    <td class="col1">Background 2:</td>
    <td class="col2"><input class="background_text_2" name="background_text_2" type="text">
    </td>
</tr>
<tr>
    <td class="col1">Background Rank 3:</td>
    <td class="col2">
        <input class="background_rank_3  spinner" name="background_rank_3" type="number" value="3">
    </td>
</tr>
<tr class="end_background">
    <td class="col1">Background 3:</td>
    <td class="col2">
        <input class="background_text_3" name="background_text_3" type="text">
    </td>
</tr>

1 个答案:

答案 0 :(得分:1)

类似的东西:

$('input[name^="background_text"]').each(function (i) {
    if (i != 0) $(this).closest('tr').remove();
});

$('input[name^="background_rank_"]').each(function (i) {
    if (i != 0) $(this).closest('tr').remove();
});

demo