Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/429.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery:如何使用单击和更改功能更改输出?_Javascript_Jquery - Fatal编程技术网

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。