IE 8的Jquery问题

时间:2010-08-10 11:00:55

标签: jquery

你好我有这个代码在Firefox中运行完美,但在IE 8中不起作用,并没有给我任何错误?!

   $(".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();

3 个答案:

答案 0 :(得分: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();

答案 1 :(得分: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! 希望它有所帮助!

答案 2 :(得分:-1)

您可以按F12打开IE开发者控制台,然后运行IE8 JavaScript debugger,然后您可以单步查看发生的情况。