0
我有一些JavaScript計算價格和更新div。然而在ie7中,calc_sprice顯示€NaN。與ie7的jQuery價格錯誤
我認爲它發生在我把價格格式化。但我不能看到這個問題。它適用於所有其他瀏覽器。
function formatPrice (price) {
var dplaces = price == parseInt(price, 10) ? 0 : 2;
price = price.toFixed(dplaces);
return price
}
function calc_supp(showdiv){
var sup = $(showdiv+' .rate_data').attr('sup');
var asup = $(showdiv+' .rate_data').attr('asup');
var csup = $(showdiv+' .rate_data').attr('csup');
//var total_price = $(showdiv+' #total_price').val();
var total_price = $(showdiv+' #tmp_price').val();
total_price = Number(total_price);
var tot_adults = 0;
var tot_childs = 0;
var rooms = 0;
$(showdiv + ' select.adu').each(function(){
var tot_as = $(this).val();
tot_adults += Number(tot_as);
rooms +=1;
});
$(showdiv + ' select.chi').each(function(){
var tot_cs = $(this).val();
tot_childs += Number(tot_cs);
});
var supp = rooms*sup; // total supplement
var total_asupp = Number(tot_adults * asup);
var total_csupp = Number(tot_childs * csup);
var total_sup = Number(supp + total_asupp + total_csupp);
var total_total = Number(total_sup + total_price);
//alert(supp);
$(showdiv + ' .calc_supp span').html(formatPrice(total_sup));
$(showdiv + ' .calc_sprice span').html(formatPrice(total_total));
$(showdiv+' #total_price').val(formatPrice(total_total));
}
'$(showdiv +'#tmp_price')'...你沒有多個元素的ID'tmp_price'你是否?如果是這樣的話......那可能是你的問題。如果不是的話,你並不需要那裏的'showdiv'位。 – mpen
是的,我真的。這隻會導致ie7問題嗎?據我記憶,這不是一個問題 –
不確定,但它是無效的。一個ID應該唯一標識一個元素。如果你想擁有多個類,請使用類。瀏覽器可能會進行優化,建立在只有一個假設的基礎上。 – mpen