Jquery不会触发if语句的某些值

时间:2013-09-20 11:05:05

标签: jquery

我有这个非常简单的功能,不断为某些输入提供不正确的值,我无法看到它出错的地方。

当photocount设置为20到59时,不会触发if语句。 值60及以上和19及以下工作正确。

示例:

o_priceperphoto = 0.50

o_photocount = 30

o_maxphotoprice = 11

o_photoprice = 15(应该是11)

我不知道为什么。希望有人看到出了什么问题。

function photoprice(o){
  var priceperphoto = $('#o_priceperphoto').val();
  var photocount = $('#o_photocount').val();
  var maxphotoprice = $('#o_maxphotoprice').val();
  var photoprice = parseFloat(priceperphoto * photocount).toFixed(2);

  // 20 - 59 errors
  if(photoprice > maxphotoprice){
    $('#o_photoprice').val(maxphotoprice);
  }

};

2 个答案:

答案 0 :(得分:0)

试试这个

if(parseFloat(photoprice) > parseFloat(maxphotoprice)){
  $('#o_photoprice').val(maxphotoprice);
}

答案 1 :(得分:0)

您正在比较浮点值和字符串值

Typecast parseFloat(photoprice)parseFloat(maxphotoprice)

function photoprice(o){
      var priceperphoto = $('#o_priceperphoto').val();
      var photocount = $('#o_photocount').val();
      var maxphotoprice = $('#o_maxphotoprice').val();
      var photoprice = parseFloat(priceperphoto * photocount).toFixed(2);

      // 20 - 59 errors
      if(parseFloat(photoprice) > parseFloat(maxphotoprice)){//need to typecast to float
        $('#o_photoprice').val(maxphotoprice);
      }

    };

您正在比较浮点值和字符串值