让我的小计算器在jquery中工作,但我遇到了一个小问题。当我选中复选框时,它将字段1和2的输入与10相乘。但是如果我输入字段1和2中的值,则在选中复选框之前,它不会使用新值更新。
有人可以给我一个如何做到这一点的提示吗?
谢谢。
https://jsfiddle.net/02bq3h8t/
代码:
<Image source:{require('./Path')} />
答案 0 :(得分:1)
您应该为复选框添加另一个事件,因此如果选中状态发生更改,值将更新。
x
答案 1 :(得分:0)
您缺少复选框状态更改的事件处理程序。只有在实际触发它时,才会重新计算您的值。只需添加$(document).ready()
功能:
$('input[type=checkbox]').change(calculate);
答案 2 :(得分:0)
实际上你只是犯了一个小错误。
当复选框发生变化时,您根本没有调用calculate
函数。通过附加到EventListener
的{{1}}来查看工作小提琴,以调用该函数:
checkbox
$(document).ready(function(){
$('#a1').keyup(calculate);
$('#a2').keyup(calculate);
$('#a3').keyup(calculate);
/*---- This line was missing ----*/
$('.checkbox_check').change(calculate);
});
function calculate(e) {
if ($('input.checkbox_check').is(':checked')) {
$('#a4').val(($('#a1').val() * $('#a2').val())*10);
$('#a3').val($('#a1').val() * $('#a2').val());
} else {
$('#a3').val($('#a1').val() * $('#a2').val());
$('#a4').val($('#a3').val() * 0.5);
}}