javascript - 在 jQuery 中使用复选框来切换 2 个数值
问题描述
当检查和未选中复选框时,如何更改以下代码以在非零值和零值之间切换?看
$(document).ready(function() {
$('input[type="checkbox"]').click(function() {
var inputValue = $(this).attr("value");
$("." + inputValue).toggle();
});
});
.box {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
<label><input type="checkbox" name="colorCheckbox" value="n1"> num 1</label>
<label><input type="checkbox" name="colorCheckbox" value="n2"> num 2</label>
<label><input type="checkbox" name="colorCheckbox" value="n3"> num 3</label>
</div>
<div class="n1 box">55000</div>
<div class="n2 box">200</div>
<div class="n3 box">300</div>
解决方案
您可以这样做,以获取每个复选框的总和,并根据需要进行调整
$(document).ready(function() {
var sum = 0;
$('input[type="checkbox"]').change(function() {
var inputValue = $(this).attr("value");
if(this.checked) {
sum = parseInt(sum) + parseInt($("." + inputValue).text());
}else {
sum = parseInt(sum) - parseInt($("." + inputValue).text());
}
$("#sum").text(sum);
$("." + inputValue).toggle();
});
});
.box {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table width="100%">
<tr>
<td> <label><input type="checkbox" name="colorCheckbox" value="n1"> Show Price</label></td><td><div class="n1 box">55000</div></td>
</tr><tr>
<td> <label><input type="checkbox" name="colorCheckbox" value="n2"> Show Price</label></td><td><div class="n2 box">200</div></td>
</tr><tr>
<td> <label><input type="checkbox" name="colorCheckbox" value="n3"> Show Price</label></td><td><div class="n3 box">300</div></td>
</tr>
<tr>
<td > Total: </td><td><div id="sum">0</div></td>
</tr>
推荐阅读
- mysql - 无法连接到在 kubernetes 部署中运行的 mysql 服务器暴露为负载均衡器
- docker - Docker 服务未在已发布的端口上侦听
- compiler-errors - SML 产生编译器错误
- c++ - Vulkan 将视口结果翻转为黑屏
- node.js - 共享主机的 Node / Express 挑战
- android - Android - DialogFragment 不显示我放入其中的 ImageView
- c++ - 如何对对象的字符串向量使用选择排序
- django - Django 查询集连接表
- html - 如果div溢出,如何自动使用滚动条
- java - 如何根据 Location 对象获取用户的国家/地区?