javascript - 使用 Jquery 动态添加一个元素到我的表单

标签 javascript jquery html

我按照教程创建了一些 html 和 Jquery,它们应该在单击添加新按钮时动态添加新元素。但是我正在测试 jsfiddle 但它不起作用,我使用的代码与教程中使用的代码完全相同。谁能看出我哪里出错了?

http://jsfiddle.net/pocockn/P5uPQ/1/

$(function() {
        var addDiv = $('#addinput');
        var i = $('#addinput p').size() + 1;

        $('#addNew').live('click', function() {
                $('<p><input type="text" id="p_new" size="40" name="p_new_' + i +'" value="" placeholder="I am New" /><a href="#" id="remNew">Remove</a> </p>').appendTo(addDiv);
                i++;

                return false;
        });

        $('#remNew').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
}); 

最佳答案

As of jQuery 1.7, the .live() method is deprecated. Use .on() to attach event handlers.

因此您应该将 live() 替换为 on()

试试这个:

$(function () {
    var addDiv = $('#addinput');
    var i = $('#addinput p').size() + 1;

    $('#addNew').on('click', function () {
        $('<p><input type="text" class="p_new" size="40" name="p_new_' + i + '" value="" placeholder="I am New" /><a href="#" class="remNew">Remove</a> </p>').appendTo(addDiv);
        i++;
        return false;
    });
    $(document).on('click','.remNew', function () {
        if (i > 2) {
            $(this).parents('p').remove();
            i--;
        }
        return false;
    });
});

注意:

  • 请记住,ID 的必须是唯一的。我在此处发布的代码中更改为类。
  • 因为您要动态添加内容,所以 remNew 必须使用委托(delegate)。

Fiddle

关于javascript - 使用 Jquery 动态添加一个元素到我的表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20275517/

相关文章:

javascript - Backbone 的模型和集合的更改事件

javascript - 单击保存按钮后,使用 jQuery 从输入创建 JSON

jquery - 如何使用 HTML5 Canvas 复制 'skid marks'?

javascript - jQuery 1.3.2 中的实时处理程序出现 "too much recursion"错误

javascript - 如何在 JQuery 中选择除被单击元素之外的所有类?

javascript - 试图将一个字母插入数组以显示在页面上

jquery - 欢迎使用 Jquery 加载...页面

javascript - Select2 multiple 创建重复值

java - 将日期和时间输入格式化为 Date 对象

javascript - 图像上的摆动动画。 (就像酒馆的招牌。)