Javascript 在ajax调用后执行JQuery函数时出现问题

Javascript 在ajax调用后执行JQuery函数时出现问题,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,在执行Ajax调用后,我试图隐藏输入的父项,但由于某种原因,它不起作用,即没有效果,父项也没有隐藏 这是我的JQuery代码片段: $( ".getqty" ).mouseover(function() { var split = this.id.split(":"); var color = split[0]; var size = split[1]; var prodID = split[2]; $.ajax({ //create an aja

在执行Ajax调用后,我试图隐藏
输入的父项,但由于某种原因,它不起作用,即没有效果,父项也没有隐藏

这是我的JQuery代码片段:

$( ".getqty" ).mouseover(function() {
    var split = this.id.split(":");
    var color = split[0];
    var size = split[1];
    var prodID = split[2];

    $.ajax({    //create an ajax request to loadstuff.php
        type: 'POST',
        url: 'includes/loadstuff.php',             
        dataType: 'html',   //expect html to be returned   
        data:'color='+color+'&size='+size+'&prodID='+prodID,     
        success: function(response){                   
             $(this).parent().hide();  //Problematic part
        },
        error:function (xhr, ajaxOptions, thrownError){
          alert(thrownError);
        }
    });
});
<a href='#'>
    <input class='getqty id='a:b:c' type='text'>
</a>
这是我的HTML:

$( ".getqty" ).mouseover(function() {
    var split = this.id.split(":");
    var color = split[0];
    var size = split[1];
    var prodID = split[2];

    $.ajax({    //create an ajax request to loadstuff.php
        type: 'POST',
        url: 'includes/loadstuff.php',             
        dataType: 'html',   //expect html to be returned   
        data:'color='+color+'&size='+size+'&prodID='+prodID,     
        success: function(response){                   
             $(this).parent().hide();  //Problematic part
        },
        error:function (xhr, ajaxOptions, thrownError){
          alert(thrownError);
        }
    });
});
<a href='#'>
    <input class='getqty id='a:b:c' type='text'>
</a>
$(此)
被移到原始函数调用之外。您可以给它一个变量,使其附加到正确的选择器。比如:

$( ".getqty" ).mouseover(function() {
    var $this = $(this);
    var split = this.id.split(":");
    var color = split[0];
    var size = split[1];
    var prodID = split[2];


    $.ajax({    //create an ajax request to loadstuff.php
        type: 'POST',
        url: 'includes/loadstuff.php',             
        dataType: 'html',   //expect html to be returned   
        data:'color='+color+'&size='+size+'&prodID='+prodID,     
        success: function(response){                   
             $this.parent().hide();  //Problematic part
        },
        error:function (xhr, ajaxOptions, thrownError){
          alert(thrownError);
        }
    });
});
$(this)
指的是不同的对象:

success: function(response){                   
     $(this).parent().hide();  //Problematic part
},
因此,请按以下方式更改代码:

$( ".getqty" ).mouseover(function() {
    var split = this.id.split(":");
    var color = split[0];
    var size = split[1];
    var prodID = split[2];
    var $this = $(this);                                        // Add this

    $.ajax({    //create an ajax request to loadstuff.php
        type: 'POST',
        url: 'includes/loadstuff.php',             
        dataType: 'html',   //expect html to be returned   
        data:'color='+color+'&size='+size+'&prodID='+prodID,     
        success: function(response){                   
             $this.parent().hide();                         // Change here.
        },
        error:function (xhr, ajaxOptions, thrownError){
          alert(thrownError);
        }
    });
});