2016-02-19 51 views
0

Hallo iam新編碼和iam嘗試使用JQuery製作積分系統。 iam試圖做的就是讓它每次放入一個新號碼時自動計算積分。輸入自動計算與更改事件

我的id =「score」從10開始,我可以從id =「addToScore」給它添加點數,但是每次我輸入一個新的數字,它只是添加到當前值,我希望它顯示新的結果。

我的獎金從0開始,每次從我的分數中得到2分,從10分起,您將獲得1分。但每次我從id =「addToScore」添加點時,它都不會更新我的獎勵積分。

當我只希望它在id =「bonus」中顯示新結果時,我的id =「addToBonus」也將當前值添加到id =「bonus」。

我希望有人會幫我解決iam做錯了什麼,我認爲它可能是這個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> 
+0

嘗試使用jQuery的更新CDN。 –

+0

檢查:[jsfiddle](https://jsfiddle.net/urLp9bbd/)和更改。我只將分數設置爲只讀,並且在嘗試更改分數時不計算。 –

回答

0

嘗試keyup()

$('input').keyup(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 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">

+0

你忘了提及CDN的改變。 –

+0

對不起?我不明白你改變CDN是什麼意思? – Gintoki

+0

您使用版本2.1.1,問題有1.12.0 –

0

您正試圖在所有輸入字段使用更改事件。相反,您應該使用特定的輸入字段來使用它們的ID。

這樣

的$(document)。在( 「變」, 「#addToScore,#addToBonus」,函數(){ .... }

另外一個已經計算出在該功能塊的末尾,通過這樣做可以清除文本字段#addToScore和#addToBonus的值

$(「#addToBonus」).val(「」); $(「#addToScore」 ).val(「」);