【问题标题】:jQuery functionality not working on Chrome and IE 8jQuery 功能不适用于 Chrome 和 IE 8
【发布时间】:2011-06-20 18:02:53
【问题描述】:

我是 jQuery 的初学者。我正在修复我在我的网站上看到的错误。如果您选中/取消选中购物车中的复选框,我会执行一个 ajax 调用。 因此,如果我取消选中购物车中的某些内容,它会自动保存。这在 FF 中有效,但在 Chrome 或 IE 中无效。关于可能是什么问题的任何建议?

function toggleDisplay(id,boutiqueid){
  obj = $('#'+id);
  chk = obj.find('input[name='+id+']');
  if(chk.is(':checked')){
    $.ajax({
      url:'MyRecentPurchaseProcess.jsp?action=add&boutiqueId='+boutiqueid+'&shipment='‌​+id,
      success: function(data) {
        eval(data);
        if(outcome.result=='true'){
          obj = $('#'+id);
          obj.find('.blanket_fold').attr('class','blanket_unfold')
          obj.find('.prod').attr('class','prod_under');
        }
      }
    });
  } // inserted by editor
  else{
    $.ajax({
      url:'MyRecentPurchaseProcess.jsp?action=delete&boutiqueId='+boutiqueid+'&shipmen‌​t='+id,
      success: function(data) {
        eval(data);
        if(funcResult.result == 'true'){
          obj = $('#'+id);
          obj.find('.blanket_unfold').attr('class','blanket_fold')
          obj.find('.prod_under').attr('class','prod');
          chk = obj.find('input[name='+id+']');
          chk.attr('checked',false);
        }
      }
    });
  } // inserted by editor
} // inserted by editor

【问题讨论】:

  • 你能发布你的代码吗?如果你展示你目前所拥有的,你就有更好的机会找到问题的解决方案。
  • 请向我们展示您的代码。如果没有代码,我唯一的猜测是您的事件侦听器设置错误(onchange/onchecked/onclick?)
  • 函数 toggleDisplay(id,boutiqueid){ obj = $('#'+id); chk = obj.find('input[name='+id+']'); if(chk.is(':checked')){ $.ajax({ url:'MyRecentPurchaseProcess.jsp?action=add&boutiqueId='+boutiqueid+'&shipment='+id, 成功: function(data) { eval(data) ; if(outcome.result=='true'){ obj = $('#'+id); obj.find('.blanket_fold').attr('class','blanket_unfold') obj.find('. prod').attr('class','prod_under'); } } });
  • 我编辑了您的问题以包含带有格式的代码,它会在被审阅者接受后出现。
  • 以后 Jassi,当有人要求查看代码时,将其编辑为您的原始问题。当你把它放在这样的 cmets 中时,它很难阅读。

标签: jquery ajax firefox google-chrome


【解决方案1】:

IE 对元素 id 很严格,寻找元素的重复 id。 FF 通常会忽略它们并正常工作,但 IE 不会。

【讨论】:

    【解决方案2】:

    请包含调用此函数的代码部分(设置事件处理程序),否则很难找到问题所在。您有一些奇怪的选择器,但它们可能是正确的,具体取决于您的 HTML。

    请注意,从 jQuery 1.6 开始,建议在编辑 checked 等属性时使用 prop() 而不是 attr()

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 2013-04-22
      • 1970-01-01
      • 2014-05-17
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多