我有这个非常简单的功能,不断为某些输入提供不正确的值,我无法看到它出错的地方。
当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);
}
};
答案 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);
}
};
您正在比较浮点值和字符串值