可重复的块

时间:2014-05-06 14:16:28

标签: javascript jquery html

我目前有一些JS会根据HTML中存储的数据属性生成按钮,这将生成2个按钮:

  1. Plus按钮添加可重复的块(如果只有一个块,将会/只应显示加号按钮)

  2. 删除可重复字段的减号按钮(当有多个块时将显示/将显示)

  3. 事情是,我的按钮工作正常,但当我为他们添加事件处理程序时,按照我的要求,点击它们没有任何反应,我不知道为什么,希望你能指出我正确的方向。

    问候!

    P.S jQuery代码

        $('.glyphicon-plus-sign').on("click", function () {
            prevInput = $(this).prev('input');
            count = $(prevInput).attr('data-count');
            countIncremented = count++;
            br = '<br/><br/>';
            inputElement = '<input type="' + $(prevInput).attr("type") + '" name="' + $(prevInput).attr("name") + countIncremented + '" data-count="' + countIncremented + '"/>';
            $(br + inputElement + plusMinusButtons).insertAfter('.' + $(prevInput).attr("name") + ':last');
        });
        $('.glyphicon-minus-sign').on("click", function () {
            prevInput = $(this).prev('input');
            $(this).remove(prevInput).remove(this);
        });
        $("button").click(function () {
            console.log("here");
            x = $('#form').serializeArray();
            $.each(x, function (i, field) {
                console.log(field.name + ":" + field.value + " ");
    });
    

1 个答案:

答案 0 :(得分:1)

  

我目前有一些JS会生成按钮

动态添加按钮意味着您必须以不同的方式处理事件。您需要执行以下操作:

$('body').on("click", '.glyphicon-minus-sign', function () {
    ...
}

$('body').on("click", '.glyphicon-plus-sign', function () {
    ...
}

基本上,您现在正在侦听body元素的点击,而不是实际按钮(实际上可能尚未存在)。任何其他静态创建的按钮都不会受到影响。