使用jquery比较文本框中的两个值

时间:2011-12-01 11:17:15

标签: jquery

我正在开发以下链接: 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

1 个答案:

答案 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