2011-12-01 98 views
2

在文本框中的两个值我下面的链接工作: http://www.marvelfloors.com/ProductDetails.asp?ProductCode=0_OH501比较使用jQuery

我想的值texbox比较是平方英尺文本框和具有价值800第三文本框,我已经指派值800到第三个文本框使用jquery.the第三个文本框中的值将会动态变化,如果span标记中的class'test'的值发生变化。

我比较了两个文本框的值。但如果我输入大于800的1234,它不会进入循环。但如果我输入801,它会进入循环。请你指教。

你可以查看上面的链接示例。

下面是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

您是否尝试过比较之前转换为数字,

var sqqty = parseInt($('#calculator_sqft input[name=sqft]').val(), 10); 
    var test = parseInt($('#calculator_sqft input[name=sf]').val(), 10); 

因为它们是作为字符串现在相比。实际上,如果输入'9',则表示您输入if int,因为字符串9大于800