0

我希望此函数在完成 ajax $.post 调用后更新 div 中的文本。一切正常,除了在 .done 调用中 $(this) 不再查看它列出的元素。

任何帮助,将不胜感激。

//Add or Remove time from Time Off
        $(".timeChange").on("click", function(){
            var id              =   $(this).val();
            var timeCommand     =   $(this).attr("data-command"); 
            var currentTime     =   $(this).siblings('.timeHold').text();       

            $.post("humanResourceFunctions.php/",
                {
                    command         :   "modifyLeaveTime",
                    employee        :   id,
                    addSubtract     :   timeCommand,
                    time            :   currentTime
                }).done(function(data) {
                    $(this).siblings('.timeHold').text(data); 
                });
        });

问题出在最后一个操作 $(this).siblings('.timeHold').text(data);

4

1 回答 1

3

您只需要缓存对它的引用。

$(".timeChange").on("click", function(){
    var $this = $(this); //cache it

然后以后..

.done(function(data) {
    $this.siblings('.timeHold').text(data); //note $this not $(this);
});
于 2013-09-04T17:06:53.857 回答