我正在开发以下链接: http://www.marvelfloors.com/ProductDetails.asp?ProductCode=0_OH501
我想比较texbox中sqft文本框和第三个值为800的文本框中的值。我已使用jquery将值800分配给第三个文本框。如果值为3,则第三个文本框中的值将动态更改更改类'test'的span标记。
我比较了两个文本框的值。但如果我输入大于800的1234,它就不会进入循环。但如果我输入801,它会进入if循环。请你指教。
您可以查看以上链接中的示例。
下面是我写的jquery代码:
// calculator sqft
$(function() {
// prepare calc
$('.colors_pricebox').after().append('<div id="calculator_sqft"><div class="calculator_sqft_t"><table border=0><tr><td colspan=4 class=titlecalc>Cartons estimator</td></tr><tr><td valign=top align=center class=sqfttt><input type=text name=sqft value="" /><br>sqft</td><td><img src="http://www.rtaflooring.com/v/vspfiles/templates/adorn/images/sqft-cartons-arrow.png" style="margin-top: -12px;"></td><td valign=top align=center class=cartonsttt><input type=text name=cartons value="" /><br>cartons</td><td valign=top class=xttt>x</td><td valign=top class=csqft_pricettt>$<span class=csqft_price></span></td><td valign=top class=xttt>=</td><td valign=top class=result_csqft></td></tr></table><input type=text name=sf value="" /></div></div>');
// end prepare calc
$('#calculator_sqft .result_csqft').html('$0.00');
var sqft = $('#calculator_sqft input[name=sqft]').val();
$('#calculator_sqft input[name=sqft]').live('keyup', function() {
var qty = $('.test').html();
$("#calculator_sqft input[name=sf]").val($('.test').html());
var sqqty = $('#calculator_sqft input[name=sqft]').val();
var test = $('#calculator_sqft input[name=sf]').val();
alert($('#calculator_sqft input[name=sf]').val());
if (sqqty > test) {
alert("hi");
$('#calculator_sqft .csqft_price').html($('.sqft_cart_price').html());
var sqft = $('#calculator_sqft input[name=sqft]').val();
var sqft_cart = $('.sqft_cart').html();
var csqft_price = $('.csqft_price').html();
var result_cart = Math.floor(sqft / sqft_cart);
var final_price = result_cart * csqft_price;
$('input[name=cartons]').val(result_cart);
$('.result_csqft').html('$' + final_price.toFixed(2) + ' <span style="color: #f0b404; font: 14px arial;"></span>');
$('input').eq(2).val(result_cart);
}
else {
$('#calculator_sqft .csqft_price').html($('.proprice').html());
//var sqft = $(this).val();
var sqft = $('#calculator_sqft input[name=sqft]').val();
var sqft_cart = $('.sqft_cart').html();
var proprice = $('.proprice').html();
var result_cart = Math.floor(sqft / sqft_cart);
var final_price = result_cart * proprice;
$('input[name=cartons]').val(result_cart);
$('.result_csqft').html('$' + final_price.toFixed(2) + ' <span style="color: #f0b404; font: 14px arial;"></span>');
$('input').eq(2).val(result_cart);
}
});
});
// end calculator
答案 0 :(得分:1)
您是否尝试将值转换为数字
var sqqty = parseInt($('#calculator_sqft input[name=sqft]').val(), 10);
var test = parseInt($('#calculator_sqft input[name=sf]').val(), 10);
在比较它们之前?因为它们现在被比作字符串。事实上,如果你输入'9',你就进入if
,因为9作为字符串大于800