jqueryで#total値+170をカウントするにはどうすればよいですか?
$("#member").click(function() {
if ($('#member').is(':checked')) {
var totalv = $("#total").val();
var skatz = 170;
var skaits = totalv + skatz;
$("#total").val(skaits);
}
jqueryで#total値+170をカウントするにはどうすればよいですか?
$("#member").click(function() {
if ($('#member').is(':checked')) {
var totalv = $("#total").val();
var skatz = 170;
var skaits = totalv + skatz;
$("#total").val(skaits);
}
の結果は.val()
文字列になるため、最初にそれを数値に変換する必要があります。
var totalv = $("#total").val();
var skatz = 170;
var skaits = +totalv + skatz;
$("#total").val(skaits);
(totalv変数に追加の+プレフィックスがあることに注意してください。
提供された値が実際に数値であるかどうかを確認する必要があります(毎回onkeypressまたはkeyupを実行できますが、送信時に常に確認する必要があります)。以下は、機能するように変更されたコードです(値が数値であるかどうかを確認するためのチェック付き)。
編集:JavaScriptにドキュメントがラップされていることを確認してください。(関数はこの呼び出しの外にある可能性があります)
$(document).ready(function () {
$("#member").click(function() {
if ($('#member').is(':checked')) {
var totalv = $("#total").val();
if(isNumber(totalv) == true)
{
var skatz = 170;
var skaits = parseInt(totalv) + skatz;
$("#total").val(skaits);
}
else
{
alert("You must enter a numerical value");
}
}
});
function isNumber(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}