输入自动计算与更改事件

时间:2016-02-19 12:22:30

标签: jquery

我喜欢编码的新手,我试图用JQuery创建一个积分系统。我想做的是每次你输入一个新号码时自动计算点数。

我的身份="得分"从10开始,我可以从id =" addToScore"添加点数。但每次我输入一个新数字时,它只是添加到当前值,我希望它显示新的结果。

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

我的id =" addToBonus"也将当前值添加到id ="奖金"当我只希望它在id ="奖金"中显示新结果时。

我希望有人会帮助我解决我做错的事情,并且我认为这可能就是这个change()事件。

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

2 个答案:

答案 0 :(得分:0)

尝试keyup()

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<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">
&#13;
select * from empSchedule t1 
inner join empInfo t2 
on t1.empName like t2.LName+', '+t2.FName+'%'
WHERE t1.empName LIKE '%Gill, Sam%'
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您正尝试在所有输入字段中使用更改事件。相反,您应该使用他们的id在特定输入字段上使用。

像这样

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

您还计算了一个,在该功能块的末尾,您可以通过执行此操作清除文本字段#addToScore和#addToBonus的值

$( “#addToBonus”)VAL( “”); $( “#addToScore”)VAL( “”);