乘以jquery

时间:2012-11-21 09:28:07

标签: javascript jquery

我有这个简单的脚本,我希望将Var a * Var b乘以然后将它乘以Var C并设置一个数字,例如15。

但它似乎不起作用?

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>

<script>
$('input[name="box2"]').keyup(function() {
    var a = $('input[name="box1"]').val();
    var b = $(this).val();
    var c = $(15).val();
    $('input[name="box3"]').val(a * b * c);
});
​
</script>
</head>


<body>
<input name="box1" type="text" /><br />
<input name="box2" type="text" /><br />
<input name="box3" type="text" />
</body>

3 个答案:

答案 0 :(得分:3)

要做的一些改动:

var a = parseInt($('input[name="box1"]').val(), 10);
var b = parseInt($(this).val(), 10);
var c = 15; // really no need to try to build a dom element to get an int

在不指定基数(parseInt("09") is 0...)的情况下,请注意永远不要使用parseInt

您的代码中的另一个问题是您尝试在dom准备好之前构建jquery集合。使用此:

<script>
$(function(){
   $('input[name="box2"]').keyup(function() {
     var a = $('input[name="box1"]').val();
     var b = $(this).val();
     var c = $(15).val();
     $('input[name="box3"]').val(a * b * c);
   });
});
</script>

请注意,这也是最佳做法,尤其是在使用简单的jQuery时,在主体的末尾加上一个脚本元素,以保留所有不在单独文件中的javascript。

答案 1 :(得分:1)

var c = $(15).val();更改为var c=15;

答案 2 :(得分:0)

您应该将字符串值解析为int:

var a = parseInt($('input[name="box1"]').val());