【问题标题】:jQuery ajax post inside each function, success continue in each每个函数内的jQuery ajax发布,每个函数都继续成功
【发布时间】:2019-01-20 18:37:24
【问题描述】:

所以我有这个简单的 jQuery ajax 函数,但它在 each 函数中,因为它在网站上的每个帖子中

$('.post .button').each(function() {
$(this).click(function() {
  $.ajax({
      url: 'action/update.php',
      type: 'POST',
      data: {
          postID: $(this).closest('.container').find('.postID').val()
      },
      success: function() {
        $(this).css({'color' : 'green'});
      }
  });
});

});

但成功后我想更改已单击该元素的一些 css。 基本上我想发布这个而不需要使用基本的 html 帖子刷新网站。 甚至可能吗?你能帮帮我吗?

【问题讨论】:

    标签: php jquery html css ajax


    【解决方案1】:

    你可以试试这个:

    $('.post .button').on('click',function() {
        var $this = $(this);
        $.ajax({
            url: 'action/update.php',
            type: 'POST',
            data: {
                postID: $this.closest('.container').find('.postID').val()
            },
            success: function() {
              $this.css({'color' : 'green'});
            }
        });
    });
    

    【讨论】:

    • 我已经尝试过了,但是它不起作用,我不知道为什么。也许当它成功时,它就像在每个函数之外的任何地方运行该函数。
    • 在这个例子中我们不需要任何$.each函数,因为它会自动为每个“.post .button”元素设置一个click事件,所以当它被点击时,我们将当前元素存储到$this 然后我们可以在 success 函数中使用它。作为测试,您可以为每个.button 设置一个属性,然后在单击它时显示该属性以确保您单击的.button 相同。
      你可以查看这个简单的例子jsfiddle.net/358s9a6d/3
    • 哦,是的,你是对的,我错了。是的,这行得通,我很强大,谢谢。
    猜你喜欢
    • 2013-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 2016-02-18
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    相关资源
    最近更新 更多