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)。