Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.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
Jquery 输入带有更改事件的自动计算_Jquery - Fatal编程技术网

Jquery 输入带有更改事件的自动计算

Jquery 输入带有更改事件的自动计算,jquery,Jquery,你好,我是一名新的编码员,我正试图用JQuery建立一个积分系统。我想做的是让它在你每次输入一个新数字时自动计算分数 我的id=“score”从10开始,我可以从id=“addToScore”向其添加分数,但每次我输入一个新的数字,它只会添加到当前值,我希望它显示新的结果 我的奖金从0开始,每次你从我的分数中得到2分,从10分起你将得到1分。但每次我从id=“addToScore”添加积分时,它都不会更新我的奖励积分 当我只想在id=“bonus”中显示新结果时,我的id=“addToBonus

你好,我是一名新的编码员,我正试图用JQuery建立一个积分系统。我想做的是让它在你每次输入一个新数字时自动计算分数

我的id=“score”从10开始,我可以从id=“addToScore”向其添加分数,但每次我输入一个新的数字,它只会添加到当前值,我希望它显示新的结果

我的奖金从0开始,每次你从我的分数中得到2分,从10分起你将得到1分。但每次我从id=“addToScore”添加积分时,它都不会更新我的奖励积分

当我只想在id=“bonus”中显示新结果时,我的id=“addToBonus”也会将当前值添加到id=“bonus”

我希望有人能帮我解决我做错了什么,我想这可能就是这次改变


$(文档).on(“更改”,“输入”,函数()){
var getScore=Number($(“#score”).val();
var getBonus=Number($(“#bonus”).val();
var getAddToScore=Number($(“#addToScore”).val();
var getAddToBonus=Number($(“#addToBonus”).val();
CalculateBunus=数学地板((getScore-10)/2);
美元(“#奖金”).val(CalculateBonus);
var addToTheScore=getScore+getAddToScore;
var addToTheBonus=getBonus+getAddToBonus;
$(“#分数”).val(添加到核心);
美元(“奖金”).val(加上奖金);
});
试试看

$('input').keyup(函数(){
var getScore=Number($(“#score”).val();
var getBonus=Number($(“#bonus”).val();
var getAddToScore=Number($(“#addToScore”).val();
var getAddToBonus=Number($(“#addToBonus”).val();
CalculateBunus=数学地板((getScore-10)/2);
美元(“#奖金”).val(CalculateBonus);
var addToTheScore=getScore+getAddToScore;
var addToTheBonus=getBonus+getAddToBonus;
$(“#分数”).val(添加到核心);
美元(“奖金”).val(加上奖金);
})

您试图在所有输入字段中使用更改事件。相反,您应该通过使用特定输入字段的id在其上使用

像这样

$(document).on(“change”,“#addToScore,#addToBonus”,function()){ .... }

同样是您已经计算过的,在该功能块的末尾,您可以通过执行此操作来清除文本字段#addToScore和#addToBonus的值

$(“#addToBonus”).val(“”);
$(“#addToScore”).val(“”)

尝试使用jQuery的更新CDN。检查:和更改。我将分数设置为只读,并且在尝试更改分数时不计算。您忘了提到更改CDN。抱歉?我不明白更改CDN是什么意思?您使用的是版本2.1.1,问题是1.12.0
    <input type="text" value="10" placeholder="My Score" id="score">
    <input type="text" placeholder="Bonus Points" id="bonus">

    <input type="text" placeholder="add To Score" id="addToScore">
    <input type="text" placeholder="add To Bonus" id="addToBonus">


<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>

<script>

    $(document).on("change","input",function(){
        var getScore = Number($("#score").val());
        var getBonus = Number($("#bonus").val());
        var getAddToScore = Number($("#addToScore").val());
        var getAddToBonus = Number($("#addToBonus").val());
        CalculateBonus = Math.floor((getScore-10)/2);
        $("#bonus").val(CalculateBonus);
        var addToTheScore = getScore + getAddToScore;
        var addToTheBonus = getBonus + getAddToBonus;
        $("#score").val(addToTheScore);
        $("#bonus").val(addToTheBonus);
    });
</script>