weixin_33730836 2013-03-01 11:44 采纳率: 0%
浏览 36

indexOf在IE 8/7中不起作用

I am trying to run a jquery/ajax call that works in IE9, Chrome, FF, Opera However, it fails in IE8 and UE7

The code:

  $.ajax({url:plink,
      success: function(result) {
        ppriser = result.split("**")[1];
        plabels = result.split("**")[2];
        pgrupper = result.split("**")[3];
        priser = ppriser.split("!#");
        labels = plabels.split("!#");
        grupper = pgrupper.split("!#");
        $("td .pricetag").each( function() {
          var slutpris = "999999";
          var slutlabel = "";
          for(i=1;i<priser.length;i++) {
            str = String($(this).attr('group')); 
            grp = String(grupper[i]);
            pos = grp.indexOf(str);
            if(grp==str || pos>=0) {
              j=parseInt(priser[i]);
              k=parseInt(slutpris);
              if(j!=0 && j<k) {
                slutpris = priser[i];
                slutlabel = labels[i];
              }
              if(slutlabel=="") { slutlabel = "fra:"; }
              if(slutpris!="999999") { 
                $(this).html(slutpris);
                $(this).prev('td').html(slutlabel);
              }
              if(slutpris=="999999") {
                $(this).css('display','none');
                $(this).closest('.pris').css('display','none');
              }
            }
          }
        });
      }});

I have tried various combos of: cache:false, type:"POST", type:"GET", data:"HTML", dataType:"HTML", timeout: 10000,

An example of the link plink:

Default.aspx?ID=148&fb=true&mode=-1&groupid=1210405@@SHOP5,1210103@@SHOP5,

The jquery link:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

The ajax script link is placed at the end of the page.

  • 写回答

1条回答 默认 最新

  • weixin_33722405 2013-03-01 12:37
    关注

    I tried to cast to string in several wasy (as IE 8/7 does not like indexOf on array objects) but to no avail. Thereafter, I found this solution.

      if (!Array.prototype.indexOf) {
        Array.prototype.indexOf = function(obj, start) {
          for (var i = (start || 0), j = this.length; i < j; i++) {
            if (this[i] === obj) { return i; }
          }
          return -1;
        }
      }
    

    I test if indexOf is supported - and if not the function is created.

    评论

报告相同问题?

悬赏问题

  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?
  • ¥15 Arcgis相交分析无法绘制一个或多个图形
  • ¥15 关于#r语言#的问题:差异分析前数据准备,报错Error in data[, sampleName1] : subscript out of bounds请问怎么解决呀以下是全部代码:
  • ¥15 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)