在jquery添加的字段中不起作用的表单字段值之和

在jquery添加的字段中不起作用的表单字段值之和,jquery,add,forms,Jquery,Add,Forms,我有一个表单,它在第一行添加值, 但单击“添加更多”按钮后,它将停止在第二行添加值。 其次,当我在处使用方括号来获取数组中的值时,它也不会添加 <div class="my-form"> <form name="form" > <p class="text-box"> <input type="text" name="size[]" class="add" value="" id="box1"/>

我有一个表单,它在第一行添加值, 但单击“添加更多”按钮后,它将停止在第二行添加值。 其次,当我在处使用方括号来获取数组中的值时,它也不会添加

    <div class="my-form">
    <form name="form" >
    <p class="text-box">

     <input type="text" name="size[]" class="add" value="" id="box1"/>  
      <input type="text" name="qty[]"  class="add"   value="" id="box2"/> 

     Total:   <input name="sum" class="total" value=""/>


            <a class="add-box" href="#">Add More</a>
                </p>
                <p><input type="submit" value="Submit" /></p>
    </form>
    </div>

    <!-- **** Script to Add More fields **** -->
    <script type="text/javascript">
    jQuery(document).ready(function($){
        $('.my-form .add-box').click(function(){
            var n = $('.text-box').length + 1;
            if( 10 < n ) {
                alert('Stop it!');
                return false;
            }
            var box_html = $('<p class="text-box"> <input type="text" name="size[]" class="add" value="" id="box1' + n + '" /> <input type="text" name="qty[]" class="add" value="" id="box2' + n + '" /> Total: <input name="sum" class="total" value=""/> <a href="#" class="remove-box">Remove</a></p>');
            jQuery('#my-form').append(box_html);
            box_html.hide();
            $('.my-form p.text-box:last').after(box_html);
            box_html.fadeIn('slow');
            return false;
        });

        $('.my-form').on('click', '.remove-box', function(){
            $(this).parent().css( 'background-color', '#FF6C6C' );
            $(this).parent().fadeOut("slow", function() {
                $(this).remove();
                $('.box-number').each(function(index){
                    $(this).text( index + 1 );
                });
            });
            return false;
        });
    });
    </script>

    <!-- **** Script to Sum field Values **** -->
    <script type="text/javascript">
    $.fn.sumValues = function() {
        var sum = 0; 
        this.each(function() {
            if ( $(this).is(':input') ) {
                var val = $(this).val();
            } else {
                var val = $(this).text();
            }
    document.form.sum.value = sum += parseFloat( ('0' + val).replace(/[^0-9-\.]/g, ''), 10 );
        });
        return sum;
    };

    $(document).ready(function() {
        $('input.add').bind('keyup', function() {
            $('span.total').html( $('input.add').sumValues() );
        });
    });
    </script>

总数:

jQuery(文档).ready(函数($){ $('.my form.add box')。单击(函数(){ var n=$('.text box')。长度+1; if(10总计:

); jQuery(“#我的表单”).append(box#html); box_html.hide(); $('.my form p.text-box:last')。在(box_html)之后; box_html.fadeIn('slow'); 返回false; }); $('.my form')。在('单击','.remove box',函数()上{ $(this.parent().css('background color','#FF6C6C'); $(this.parent().fadeOut(“slow”,function()){ $(this.remove(); $('.box number')。每个(函数(索引){ $(此).text(索引+1); }); }); 返回false; }); }); $.fn.sumValues=函数(){ var总和=0; 这个。每个(函数(){ if($(this).is(':input')){ var val=$(this.val(); }否则{ var val=$(this.text(); } document.form.sum.value=sum+=parseFloat(('0'+val)。替换(/[^0-9-\.]/g',),10); }); 回报金额; }; $(文档).ready(函数(){ $('input.add').bind('keyup',function(){ $('span.total').html($('input.add').sumValues()); }); });
工作示例可以在这里看到-


非常感谢您的帮助。

问题:单击“添加更多”按钮,它将停止在第二行添加值

解决方案:使用事件委派,可以将函数绑定到动态元素中

$(document).ready(function() {
    $('form').bind('keyup', 'input.add', function() {
        $(this).parent().find('span.total').html($(this).parent().find('input.add').sumValues());
    }); 
});
问题:使用方括号时不添加

解决方案:您不能只将enter添加到代码的每一行,如果要使用单独的行,则需要在每一行的末尾添加
\

var box_html = $('<p class="text-box"> <input type="text" name="size[]" class="add" value="" id="box1' + n + '" /> \
<input type="text" name="qty[]" class="add" value="" id="box2' + n + '" /> \
Total: <input name="sum[]" class="total" value=""/> \
<a href="#" class="remove-box">Remove</a></p>');
var-box\u html=$('

\ \ 总数:\ );


没问题。我的快乐Sandeep,你能帮我把方框1和方框2的值相乘吗?结果显示在小计框中。@Sandeep朋友。我正在处理功能。但在这里,我的任务是乘以第1框、第2框和小计之和。你能帮我处理一下功能吗。但在这里,我的任务是乘以第1框、第2框和小计之和。你能帮助我吗
I have created the fiddle for the same. 
Please check this, may help you.