单击复选框后,JQuery,值不会更新

时间:2017-09-05 11:38:10

标签: javascript jquery checkbox

让我的小计算器在jquery中工作,但我遇到了一个小问题。当我选中复选框时,它将字段1和2的输入与10相乘。但是如果我输入字段1和2中的值,则在选中复选框之前,它不会使用新值更新。

有人可以给我一个如何做到这一点的提示吗?

谢谢。

https://jsfiddle.net/02bq3h8t/

代码:

<Image source:{require('./Path')} />

3 个答案:

答案 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);
		}}