我有这个简单的脚本,我希望将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>
答案 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());