Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript中保留值_Javascript_Jquery - Fatal编程技术网

如何在JavaScript中保留值

如何在JavaScript中保留值,javascript,jquery,Javascript,Jquery,在执行异步$.ajax调用后,我需要突出显示已更新的表单元格。 现在我在全局名称空间中使用$td,这当然是一个错误的想法 问:当jqXHR被回调时,如何保持$td的值?我认为答案与结束有关,但我不知道 var UpdateSort = function(ID,Sort){ var jqXHR = $.ajax('Remote/Ajax.cfc', { data: { method:'UpdateSort' ,returnformat:'js

在执行异步$.ajax调用后,我需要突出显示已更新的表单元格。
现在我在全局名称空间中使用$td,这当然是一个错误的想法

问:当jqXHR被回调时,如何保持$td的值?我认为答案与结束有关,但我不知道

var UpdateSort = function(ID,Sort){
    var jqXHR = $.ajax('Remote/Ajax.cfc', {
        data: {
        method:'UpdateSort'
        ,returnformat:'json'
        ,paramID:ID
        ,paramSort:Sort
    }
});
jqXHR.success(function(result){
    if (result.MSG == '') {
        $td.addClass('success');
    } else {
        $td.addClass('err');
    };
});

只需将其作为参数添加到函数中即可

var UpdateSort = function(ID,Sort,td){
    var jqXHR = $.ajax('Remote/Ajax.cfc', {
        data: {
        method:'UpdateSort'
          ,returnformat:'json'
          ,paramID:ID
          ,paramSort:Sort
        }
    }).success(function(result) {
      if (result.MSG == '') {
        td.addClass('success');
      } else {
        td.addClass('err');
      }
    });
});

只需将其作为参数添加到函数中即可

var UpdateSort = function(ID,Sort,td){
    var jqXHR = $.ajax('Remote/Ajax.cfc', {
        data: {
        method:'UpdateSort'
          ,returnformat:'json'
          ,paramID:ID
          ,paramSort:Sort
        }
    }).success(function(result) {
      if (result.MSG == '') {
        td.addClass('success');
      } else {
        td.addClass('err');
      }
    });
});
了结会解决你的问题。在
UpdateSort
中引用您的
td
,并在此处定义成功函数:

var UpdateSort = function(ID,Sort, td){
    var jqXHR = $.ajax('Remote/Ajax.cfc', {
        data: {
        method:'UpdateSort'
        ,returnformat:'json'
        ,paramID:ID
        ,paramSort:Sort
    }
    jqXHR.success(function(result){
        if (result.MSG == '') {
            td.addClass('success');
        } else {
            td.addClass('err');
        };
    });    
});
td
的值将可用于指定给
jqXHR的函数。在
UpdateSort
之后,success
将返回,因为它位于该函数的中。

关闭将解决您的问题。在
UpdateSort
中引用您的
td
,并在此处定义成功函数:

var UpdateSort = function(ID,Sort, td){
    var jqXHR = $.ajax('Remote/Ajax.cfc', {
        data: {
        method:'UpdateSort'
        ,returnformat:'json'
        ,paramID:ID
        ,paramSort:Sort
    }
    jqXHR.success(function(result){
        if (result.MSG == '') {
            td.addClass('success');
        } else {
            td.addClass('err');
        };
    });    
});
td
的值将可用于指定给
jqXHR的函数。在
UpdateSort
之后,success
返回,因为它位于该函数的

var that;
到javascript文件的顶部。 在“成功”功能的末尾添加:

this.td = $td;
that = this;
这将把你的td文件存储在一个全局变量中,当它被调用时,你可以使用这个全局变量。 看看这篇关于变量的非常有用的文档:

添加

var that;
到javascript文件的顶部。 在“成功”功能的末尾添加:

this.td = $td;
that = this;
这将把你的td文件存储在一个全局变量中,当它被调用时,你可以使用这个全局变量。
看看这篇关于变量的非常有用的文档:

OP说他已经这样做了,但意识到他应该尽可能避免使用全局变量,因此正在寻找替代方法。OP说他已经这样做了,但他意识到,他应该尽可能避免参加环球赛,因此正在寻找替代方案。谢谢lwburk。现在我需要问同样的问题,只是增加了一些复杂性。谢谢lwburk。现在我需要问同样的问题,只是增加了一些复杂性。