取消选中表单元素时,如何减去 javascript 变量的值
How do I subtract the value of a javascript variable when form element is unchecked
注意,这不是我的代码,也不是表单中的实际代码。 这只是我的测试版本,但确实代表了我想做的事情。
给定以下代码,如何让脚本在取消选中复选框时减去传递的值:
<!DOCTYPE html>
<html lang="en">
<head>
<title>form test</title>
<script type="text/javascript" charset="utf-8" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<script type="text/javascript">
function updateAmount(amount) {
parseInt(amount);
if ($('#amount').val()) {
parseInt(amount);
amount = amount + parseInt($('#amount').val());
}
$('#amount').val(amount);
alert('Amount: ' + $('#amount').val());
}
</script>
</head>
<body>
<form action="" method="post" name="form-test">
<input onclick="updateAmount(150)" class="inputbox" id="reservationfee0"
value="Registration Fee" type="checkbox" />
<strong>$150</strong>Reservation Fee</form>
</body>
</html>
就目前而言,编写函数代码的人都没有考虑到人们在提交表单之前可能会选中和取消选中该框(其中包括在提交之前添加到 amount 变量中的更多字段和其他数字)。 由于这个原因,已经有一些关于过度收费的报告,所以我需要弄清楚如何阻止它发生,但我对javascript/jquery知之甚少。
尝试:
function updateAmount(amount) {
$amount = $('#amount'); // cache for later use
if ($('#reservationfee0').is(':checked')) {
$amount.val(parseInt($amount.val(), 10) + amount);
} else {
$amount.val(parseInt($amount.val(), 10) - amount);
}
}
这里的工作示例
这将检查是否使用 .is()
检查checkbox
,如果是,则金额将添加到当前值(如果不
另请注意,parseInt
需要第二个参数 - radix
建议您包含此值以确定结果...此处为解析Int 提供文档
你能试试这个吗
function updateAmount(amount) {
parseInt(amount);
if ($('#reservationfee0').prop('checked')) {
amount = amount + parseFloat($('#amount').val());
}
else{
amount = parseFloat($('#amount').val())-amount;
}
$('#amount').val(amount);
alert('Amount: ' + $('#amount').val());
}
我们可以做的是在我们可以首次设置的函数上方定义一个变量。代码如下:
var chk=1;
function updateAmount(amount) {
parseInt(amount);
if ($('#amount').val() && document.getElementById('reservationfee0').checked && chk==1) {
chk=0;
parseInt(amount);
amount = amount + parseInt($('#amount').val());
}
$('#amount').val(amount);
alert('Amount: ' + $('#amount').val());
}
相关文章:
- javascript日期减去小时-错误
- 在HTML/JavaScript中减去两个数字
- 寻找使用Javascript从Kendo UI时间选择器中减去时间的更好替代方案
- 为什么在JavaScript中可以从另一个日期对象中减去日期对象
- 从数组[Javascript]的总长度中减去一个干净的数字
- Javascript:用另一个固定时间减去时间
- javascript创建减去一天的新日期
- Javascript str_ replace use“;加“;以及“;减去“;正则表达式中的字符
- Javascript对象:这两个值有何不同
- 如何在javascript中减去两个日期
- 如何在 javascript 中减去时间
- 从当前日期和时间 JavaScript 中减去 5 分钟
- 如何使用 JavaScript 添加/减去日期
- 在 javascript 中减去两个字符串
- 在JavaScript中减去有符号整数
- 平滑滚动Javascript滚动减去100px(固定标题导航)
- Javascript: 100%减去像素
- 如果复选框被选中,Javascript会减去输入字段的值
- 如何在javascript中减去2个字符以获得ascii的差异
- javascript:我减去了两个日期来得到它们之间的差值,如何找到这两个日期之间的月数