2011-11-09 7 views
0

価格を計算してdivを更新するjavascriptがあります。しかし、ie7のdivの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)); 


      } 
+1

'$(showdiv + '#tmp_price')' ... IDが 'tmp_price'の要素が複数ある?もしそうなら...それはあなたの問題かもしれません。もしそうでなければ、そこに 'showdiv'ビットは本当に必要ありません。 – mpen

+0

はい私はそうです。それだけで問題を引き起こすだろうie7?私が覚えている限り、これまでに問題はなかった –

+0

わかりませんが、無効です。 IDは要素を一意に識別すると考えられています。複数のクラスを使用する場合は、クラスを使用します。ブラウザには、1つだけ存在するという前提で構築された最適化が用意されている場合があります。 – mpen

答えて

0

クラスの代わりにIDが使用されていました。他のブラウザはこれに問題はなかったので、ie7でテストするまで見つからなかった。