jquery计算问题
我有这个代码:
Plus 1 Minus 1
如何根据使用jQuery从select控件中选择的值计算输入到“number”中的任何数字? 例如,我想在输入“number”中输入5,如果我选择“Plus 1”,则在数字中加1,并在“result”输入中显示结果。 如果我选择“减1”,那么我将做减法并显示新结果。 谢谢。
你可以这样做:
$('#Selection').change(calc); //update result when changing the number $("#number").keyup(calc); //update result when select changes function calc() { $('#result').val( parseInt($('#number').val(), 10) + parseInt($("#Selection").val(), 10) ); }
在这里尝试一下 ,重要的部分是你的输入parseInt()
(你还应该添加一个只有数字的filter等)。否则来自任何一个输入的.val()
都是一个字符串,想一想这样:
-
1 + 1 == 2
-
"1" + "1" = "11"
$('#Selection').change(function() { $('#result').val(parseInt($('#number').val(),10) + parseInt($(this).val(),10)); })
编辑:是的,评论是正确的,我编辑了代码以反映这一点
如果元素的.val()
为’减’,那么执行x,如果它的加号为y,等等。
如果你想支持更好而不仅仅是加法和减法,你可以把它作为eval()
来做,如果你小心数据如何进入#number
:
不要让URL或FORM数据作为数字的默认值提供,否则您已经打开了自己的跨站点脚本漏洞(XSS)。