jQuery功能无法在Chrome和IE 8上运行

时间:2011-06-20 18:02:53

标签: jquery ajax firefox google-chrome

我是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

2 个答案:

答案 0 :(得分:0)

IE对元素id严格,查找元素的重复ID。 FF通常会忽略它们并且可以工作,但IE不会。

答案 1 :(得分:0)

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

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