Javascript 使用带有输入值的if语句jquery
我有一个简短的脚本,它通过乘以输入值来计算一个数字。该脚本工作正常,但现在我想添加if语句。例如: HTML: JavaScript:Javascript 使用带有输入值的if语句jquery,javascript,jquery,html,input,Javascript,Jquery,Html,Input,我有一个简短的脚本,它通过乘以输入值来计算一个数字。该脚本工作正常,但现在我想添加if语句。例如: HTML: 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')); }
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的值将乘以某个数字,在本例中为2
下面是不使用if语句的代码:
如何用我已有的代码实现我希望通过if语句实现的目标
编辑:如何添加多个if语句?我试过这个:有多个问题 您需要在更改处理程序中进行计算,当长度/高度更改时将调用该处理程序 当您执行w+l时,您正在执行字符串连接,因为w和l都是字符串值 l+w为5,则不满足任何条件。 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);
})
})
演示:由于问题要求使用您的代码进行修改,我就是这么做的。这里没有太大的变化,我评论了可能看起来很困难的任何部分
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();
});
要记住的一些事情
这是一个使用IF-ELSE逻辑块的好例子
$'total'.val'total'转换为>选择输入元素并将其值设置为total的字符串值
将字符串值转换为整数。因此,即使您从字符串类型的宽度和长度中选择了值。因此,执行w+l实际上会将两个字符串组合在一起,而不是添加数字。
+是否将其转换为整数?@Bic是。。。而不是整洁。这是我不知道的。谢谢:为什么要使用+而不是parseInt?@cgatian如果期望值有效,那么这两个值之间没有太大区别,请参见,并且-对于我来说,这里输入的更少,您试图用它实现什么:parseInt$'total'。val'total';因为这对我来说毫无意义。我想在没有else的情况下实现多个if语句。我该怎么做呢?还有,没有“计算”按钮,我怎么做?我试过这样做:使用IF{}ELSE IF{}ELSE IF{}或者switch语句。
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();
});