0

我有一个在 JQUERY 1.8.3 中工作的旧 AJAX 代码,但在更高版本中失败。当我尝试使我的代码保持最新并尽量避免弃用代码时,我需要更新我的脚本。

当前代码

$('.productlist input[type=submit]').bind('click', function () {
  var i = 0;
  var a = $(this).closest('.productlist2').find('input[data-productid][value!=]').length;
  $(this).closest('.productlist,.WPproductlist').find('input[data-productid][value!=]').each(function () {
      if ($(this).attr('data-produktfarve') != "") {
          $.ajax({
              url: '?ProductID=' + $(this).attr('data-productid') + '&EcomOrderLineFieldInput_farvevalg=' + $(this).attr('data-produktfarve') + '&Quantity=' + parseFloat($(this).val()) + '&cartcmd=add',
              success: function (data) {
                  i++;
                  if (i == a) {
                      window.location.reload();
                  }
              }
          });
      } else {
          $.ajax({
              url: '?ProductID=' + $(this).attr('data-productid') + '&Quantity=' + parseFloat($(this).val()) + '&cartcmd=add',
              success: function (data) {
                  i++;
                  if (i == a) {
                      window.location.reload();
                  }
              }
          });
      }
  });
  setTimeout(function () {
      window.location.reload();
  }, 500);
  return;
});

我尝试过各种新版本的 JQUERY 获取和发布请求,但无济于事。

4

1 回答 1

0

尝试这个,

$(function(){
    $('.productlist input[type=submit]').on('click', function () {
       var i = 0;
       var a = $(this).closest('.productlist2')
                      .find('input[data-productid][value!=""]').length;
       $(this).closest('.productlist,.WPproductlist')
              .find('input[data-productid][value!=""]').each(function () {
          var myurl = '?ProductID=' + $(this).data('productid');
          if ($(this).data('produktfarve') != "") {
              myurl+='&EcomOrderLineFieldInput_farvevalg='+$(this).data('produktfarve');
          }
          var qty=this.value;
          $.ajax({
              url: myurl+ '&Quantity=' + parseFloat(qty) + '&cartcmd=add',
              success: function (data) {
                  i++;
                  if (i == a) {
                      window.location.reload();
                  }
              }
          });
       });
       setTimeout(function () {
          window.location.reload();
       }, 500);
       return;
    });
});
于 2014-04-03T11:42:21.617 回答