【问题标题】:How to dynamically add and remove fields for more than one?如何动态添加和删除多个字段?
【发布时间】:2014-08-07 15:26:47
【问题描述】:

在 JQuery 中是否有一种更简单的方法可以为同一表单中的多个字段动态添加和删除字段?我在同一个表单中有两个表单元素,我希望它们能够添加和删除空白字段。

<div class="col-sm-3">
    Email<g:field type="email" name="Email" class="form-control" required="" value="" aria-labelledby="Email-label"/>
</div>
<div class="col-sm-2">  
    Fax<g:field type="tel" name="Fax" class="form-control" required="true" value="" aria-labelledby="Fax-label"/>
</div>

我从几个不同的地方拼凑了这个 javascript 片段,它在第一个字段中工作得很好,但是当我尝试为第二个字段复制它时它不起作用。

$(document).ready(function(){
    $("#add").click(function (e) {
        $("#submitterEmail").append('<div><input type="text" name="submitterEmail[]"><button class="delete">Delete</button></div>');
    });

$("body").on("click", ".delete", function (e) {
    $(this).parent("div").remove();
});
});

【问题讨论】:

  • 您是否要从 DOM 中删除字段?
  • 我希望能够为每个字段添加和删除空白字段。
  • 我一直在寻找例子,我想我可能最喜欢这个——voidtricks.com/jquery-add-remove-input-fields——我希望能够为具有 div 类的多个字段做类似的事情我已经在我的帖子中......

标签: javascript jquery forms field


【解决方案1】:

这是基于您拥有的 HTML 的 JavaScript:

$(document).ready(function(){
    $("#add").on("click", function(){
        $("#container").append(
            "<div class='col-sm-3'><g:field>Another field <button class='delete'>Delete</button></div>"
        );
    });
    $(document).on("click", ".delete", function(){
        $(this).parent().parent().remove();
    });
});

Example

【讨论】:

  • 太好了,我会试试的。理论上,如果您匹配正确的 id 和值,这将适用于多个字段吗?
  • 你不需要匹配 ID,因为 jQuery 使用的 CSS 选择器是从被点击的实际按钮开始的(然后向上两级找到要删除的 DIV)跨度>
  • 我需要为另一个字段重复整个片段,还是只需再次调用按钮?
  • @ry1633 我不确定你的意思。你能说得更具体点吗?
  • 是否需要重复整个代码才能将其应用于第二个字段?
猜你喜欢
  • 2013-04-28
  • 1970-01-01
  • 2019-11-09
  • 1970-01-01
  • 2019-04-19
  • 1970-01-01
  • 1970-01-01
  • 2016-10-26
  • 2016-10-20
相关资源
最近更新 更多