Php jQuery:在Ajax调用后更改元素值

Php jQuery:在Ajax调用后更改元素值,php,jquery,Php,Jquery,在使用jQuery.ajax之后,我试图更改span的值 JavaScript HTML 德瓦什里·辛格 当我点击a.miclickks时,它应该完成Ajax调用并返回一个值,该值也应该放在按钮锚定的范围内。然而,一切都没有改变 我不知道您的整个代码是什么样子的,但是您应该能够修改它来执行您正在尝试的操作: $('#id').on('click', function() { var that = this; $.ajax({ url: 'wherever.

在使用jQuery.ajax之后,我试图更改span的值

JavaScript HTML
  • 德瓦什里·辛格

  • 当我点击
    a.miclickks
    时,它应该完成Ajax调用并返回一个值,该值也应该放在按钮锚定的范围内。然而,一切都没有改变


    我不知道您的整个代码是什么样子的,但是您应该能够修改它来执行您正在尝试的操作:

    $('#id').on('click', function() {
        var that = this;
        $.ajax({
            url: 'wherever.php',
            success: function(html) {
              $(that).find("li span.mi-val").html(html);
            }
        });
    

    看起来你有两个问题。首先,正如上面@Barmar所说,mi val是micclickks的孩子,而不是父母。第二个是ajax complete函数是异步的,所以$(this)不是您所期望的。但这两个问题都是可以解决的

    您的代码有点凌乱,html缺少正确的属性,但我想这大概就是您想要的:

    $('.kssico').on('click', function(event) {
    
         var for_uid = $(this).parents("li").attr('data'); //the li element in your html doesn't have a data attribute
         var for_name = $(this).parents("li").attr('unme'); //the li element in your html doesn't have a 'unme' attribute
         var dataString = "for_uid=" + for_uid + "&for_name=" + for_name; 
    
    $.ajax({
        type: "POST",
        context: this,
        url: "include/ajax.php",
        data: dataString,
        success: function (html) {
            if(html=="300")
            {
                $('#myModal .modal-body p').html("Error Please Try Again.");
                $('#myModal').modal('show');
             }
            else
            {
                $(this).parents("li span.mi-val").html(html);
                $('#myModal .modal-body p').html("The Requested Action Has Been Notified To Your Friend.");
                $('#myModal').modal('show');
            }
        }
        });
    });
    

    您需要更改的范围是什么?请发布相关jQuery的其余部分,特别是AJAX部分。另外,您是否尝试过使用devlooper工具进行调试以查看发生了什么?出现错误和AJAX数据?我想将span html更改为此“`
    mi val
    的AJAX调用返回值是
    micclickks
    的子项,而不是父项。
    $(this).find(“span.mi val”).html(html)。它可能不起作用,因为我在您的帖子中提到的原因-您的html元素没有正确的属性。建立一个jsfiddle,这样我们至少都可以看到您使用的是什么。
    
    $('#id').on('click', function() {
        var that = this;
        $.ajax({
            url: 'wherever.php',
            success: function(html) {
              $(that).find("li span.mi-val").html(html);
            }
        });
    
    $('.kssico').on('click', function(event) {
    
         var for_uid = $(this).parents("li").attr('data'); //the li element in your html doesn't have a data attribute
         var for_name = $(this).parents("li").attr('unme'); //the li element in your html doesn't have a 'unme' attribute
         var dataString = "for_uid=" + for_uid + "&for_name=" + for_name; 
    
    $.ajax({
        type: "POST",
        context: this,
        url: "include/ajax.php",
        data: dataString,
        success: function (html) {
            if(html=="300")
            {
                $('#myModal .modal-body p').html("Error Please Try Again.");
                $('#myModal').modal('show');
             }
            else
            {
                $(this).parents("li span.mi-val").html(html);
                $('#myModal .modal-body p').html("The Requested Action Has Been Notified To Your Friend.");
                $('#myModal').modal('show');
            }
        }
        });
    });