我有一个简短的脚本,通过乘以input
值来计算数字。该脚本工作正常但现在我想添加if语句。例如:
HTML:
<label>Width</label><input type="text" id="width" />
<br>
<label>Length</label><input type="text" id="length" />
<br>
<label>Total</label><input type="text" id="total"/>
JavaScript的:
var w = $('#width').val();
var l = $('#length').val();
var total1 = 2;
var total2 = 3;
if((w * l) > 5){
total = total1 * (w + l);
parseInt($('#total').val('total'));
}
if((w * l) < 5){
totalnew = total2 * (w + l);
parseInt($('#total').val(totalnew));
}
因此,如果(#width x #length) > 5
,则(#width x #length)
的值将乘以某个数字,在这种情况下为&#34; 2&#34;。
Tried to figure it out on jsfiddle
以下是没有if语句的代码:http://jsfiddle.net/e45SJ/
如何使用我已经拥有的代码的if语句实现我想要实现的目标?
编辑:如何添加多个if语句?我试过这个: http://jsfiddle.net/m2LxV/2/
答案 0 :(得分:5)
有多个问题
w + l
时,您正在进行字符串连接,因为w
和l
都是字符串值l + w
为5,则您的if
条件均不满足。parseInt($('#total').val('total'))
只是将值total
分配给元素,parseInt
没有任何意义您需要使用更改处理程序
jQuery(function () {
var total1 = 2;
var total2 = 3;
$('#width, #length').change(function () {
var w = +$('#width').val();
var l = +$('#length').val();
var total;
if ((w * l) > 5) {
total = total1 * (w + l);
} else {
total = total2 * (w + l);
}
$('#total').val(total);
})
})
演示:Fiddle
答案 1 :(得分:2)
由于问题要求使用您的代码进行修改,这就是我所做的。这里没有太大变化,我评论了任何看似困难的部分。
function calculate()
{
//Parse the string value into an integer
var w = parseInt($('#width').val());
var l = parseInt($('#length').val());
var total1 = 2;
var total2 = 3;
//Perform IF
//suggestion to use an If {} Else
if((w * l) > 5)
{
//Set an internal value of total
var total = total1 * (w + l);
//Update the label's value to total
$('#total').val(total);
}
if((w * l) < 5)
{
//Same logic as above
var total = total2 * (w + l);
$('#total').val(total);
}
}
//Simple button event for testing
$('button').click(function()
{
calculate();
});
要记住的一些事情