Javascript jQuery:如何使用单击和更改功能更改输出?
我有一个表单,其中有一组可以添加和删除的字段。其中一个字段包含一组数字,这些数字相加可生成一个和。您可以在此处看到这样一个示例: 这是我的问题:当我第一次加载表单时选择不同的数值时,总和不会改变,并且只有一组字段(没有添加任何内容)。它仅在我添加或删除字段后更改。我怎样才能解决这个问题Javascript jQuery:如何使用单击和更改功能更改输出?,javascript,jquery,Javascript,Jquery,我有一个表单,其中有一组可以添加和删除的字段。其中一个字段包含一组数字,这些数字相加可生成一个和。您可以在此处看到这样一个示例: 这是我的问题:当我第一次加载表单时选择不同的数值时,总和不会改变,并且只有一组字段(没有添加任何内容)。它仅在我添加或删除字段后更改。我怎样才能解决这个问题 $(document).ready(function() { /* Add & Remove */ var removeButton = "<button id='remove'>Remove
$(document).ready(function() {
/* Add & Remove */
var removeButton = "<button id='remove'>Remove</button>";
$('#add').click(function() {
$('div.container:last').after($('div.container:first').clone());
$('div.container:last').append(removeButton);
/* Sum */
$(".number").change(function() {
var combined = -10;
$(".number").each(function() {
combined += parseInt(this.value);
});
$("#sum").html(combined);
}).trigger("change");
return false;
});
$('#remove').live('click', function() {
$(this).closest('div.container').remove();
});
});
$(文档).ready(函数(){
/*添加和删除*/
var removeButton=“删除”;
$('#添加')。单击(函数(){
$('div.container:last')。在($('div.container:first').clone()之后;
$('div.container:last')。追加(removeButton);
/*总数*/
$(“.number”).change(函数(){
var组合=-10;
$(“.number”).each(函数(){
组合+=parseInt(此.value);
});
$(“#sum”).html(合并);
}).触发(“变更”);
返回false;
});
$(“#删除”).live('click',function(){
$(this).closest('div.container').remove();
});
});
我将总和计算移到它自己的函数中,并将合并设置为0,而不是-10:
/* Add & Remove */
var removeButton = "<button id='remove'>Remove</button>";
$('#add').click(function() {
$('div.container:last').after($('div.container:first').clone());
$('div.container:last').append(removeButton);
sum();
return false;
});
$('#remove').live('click', function() {
$(this).closest('div.container').remove();
sum();
});
function sum() {
/* Sum */
$(".number").change(function() {
var combined = 0;
$(".number").each(function() {
combined += parseInt(this.value);
});
$("#sum").html(combined);
}).trigger("change");
}
/*添加和删除*/
var removeButton=“删除”;
$('#添加')。单击(函数(){
$('div.container:last')。在($('div.container:first').clone()之后;
$('div.container:last')。追加(removeButton);
sum();
返回false;
});
$(“#删除”).live('click',function(){
$(this).closest('div.container').remove();
sum();
});
函数和(){
/*总数*/
$(“.number”).change(函数(){
var组合=0;
$(“.number”).each(函数(){
组合+=parseInt(此.value);
});
$(“#sum”).html(合并);
}).触发(“变更”);
}
不要忘记将基数参数设置为parseInt
!你为什么要宣布合并为-10?为什么不0?对您的代码稍加修改,将函数sum()
加载。因此,初始和值将为10
。更新了@SivaCharan-true或将HTML设置为10。