2010-08-10 151 views
0

你好,我有這個代碼,在Firefox中工作完美,但在IE 8不起作用,不給我任何錯誤?!與IE 8 jQuery的問題

$(".shp_div").change(function() { 
     var str = ""; 
     $("select option:selected").each(function() { 
      var countprod =parseInt($("#countprod").val()); 
      var str2 = $(this).val(); 
      str2_array = str2.split('|'); 
      var cost = parseInt(str2_array[0]); 
      var cost_extra = parseInt(str2_array[1]); 
      if ($("#countprod").val()>1) { 
      str = parseInt(((countprod-1)*cost_extra) + cost); 
      } else{ 
      str = cost; 
      }}); 
     $(".csq_item2").text(str); 
     var total =parseInt($("#subtotal").val()); 
     var shipping=parseInt(str + total); 
     $(".price_total").text(shipping); 
    }) 
    .change(); 

回答

-1

您可以按F12打開IE開發者控制檯,然後運行IE8 JavaScript debugger,然後你可以通過一步,看看發生了什麼。

0

由於我沒有完整的圖片,我猜你沒有得到選定的選項的值,所以這裏是代碼。它的評論與「嘗試使用此」:

$(".shp_div").change(function() { 
     var str = ""; 
     $("select option:selected").each(function() { 
      var countprod =parseInt($("#countprod").val()); 
      // var str2 = $(this).val(); 
      var str2 = $(this).attr("value"); // Try using this! 
      str2_array = str2.split('|'); 
      var cost = parseInt(str2_array[0]); 
      var cost_extra = parseInt(str2_array[1]); 
      if ($("#countprod").val()>1) { 
      str = parseInt(((countprod-1)*cost_extra) + cost); 
      } else{ 
      str = cost; 
      }}); 
     $(".csq_item2").text(str); 
     var total =parseInt($("#subtotal").val()); 
     var shipping=parseInt(str + total); 
     $(".price_total").text(shipping); 
    }) 
    .change(); 
+0

謝謝你的回答..我試過你的解決方案,但沒有成功..在Firefox仍然在IE中工作沒有機會。 爲了獲得「全面照片」,請訪問:http://poshsunglasses.net/21-Bottega_Veneta-BV88.html並將其添加到購物車中,然後在購物車頁面中嘗試選擇運輸國家..那裏該問題出現在IE中。 謝謝 – Teodor 2010-08-10 12:28:11

0

另外請注意,您需要禁用quirksmode爲僞元素工作。使用DOCTYPE STRICT。舉例來說,如果你正在使用PHP,你可以做這樣的事情有一個包含頭文件: <?php

function callback($buffer) {

return (str_replace("<!doctype html>", '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">', $buffer));

}

ob_start("callback");

include('includes/header.php');

ob_end_flush();

?>

但要注意的重要的事情,是你需要使用DOCTYPE嚴格的是! 希望它有幫助!