使用带有输入值jquery的if语句

Jos*_*eta 2 html javascript jquery input

我有一个简短的脚本,通过乘以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"/>
Run Code Online (Sandbox Code Playgroud)

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));
}
Run Code Online (Sandbox Code Playgroud)

因此,如果(#width x #length) > 5,值(#width x #length)将乘以某个数字,在这种情况下为"2".

试图在jsfiddle上搞清楚.

这是没有if语句的代码:http://jsfiddle.net/e45SJ/

如何使用我已经拥有的代码的if语句实现我想要实现的目标?

编辑:如何添加多个if语句?我试过这个: http ://jsfiddle.net/m2LxV/2/

Aru*_*hny 5

有很多问题

  1. 您需要在更改处理程序中进行计算,更改长度/高度时将调用该处理程序
  2. 你是做字符串连接,当你这样做w + l,因为这两个wl的字符串值
  3. l + w是5然后你的if条件都没有满足.
  4. 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);
    })
})
Run Code Online (Sandbox Code Playgroud)

演示:小提琴

  • 为什么用+而不是parseInt? (2认同)