在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.