首页 > 解决方案 > 如何访问在 .each() 方法中获取的变量并在 JQuery 脚本中使用它?

问题描述

我使用.each()函数得到了一些结果,但我只能在.each()方法内访问这些结果/变量。如果我想在脚本中的任何地方使用方法外部的变量,该怎么做。

以下是我的代码示例:

    var pass_no=[];
        var pass_status=[];
        var pass_cur_status=[];
        var pass_no_j='';
        var pass_status_j='';
        var pass_cur_status_j='';
$.each(result.passengers, function(idx, da){

        //status is available as da.status
            $('#disp_pnr').css('display','none');
            $('#pnr_entries').css("display","none");
            $('#disp_tbl').css("display","");
            pass_no.push(da.no);
            pass_status.push(da.booking_status);
            pass_cur_status.push(da.current_status);

            //$('#disp_tbl').append("<tr><td>Passenger "+da.no+"</td><td>"+da.booking_status+"</td><td>"+da.current_status+"</td></table>");

        });

            pass_no_j = JSON.stringify(pass_no);
            pass_status_j = JSON.stringify(pass_status);
            pass_cur_status_j = JSON.stringify(pass_cur_status);
            console.log("dfdsf"+pass_no_j);

在这里,我得到乘客号。在变量da.noda.booking_statusda.current_status。我必须如何在方法之外使用它.each

标签: jquery

解决方案


尝试使用全局变量概念:

var global_idx = ''; // Top of JS

$.each(result, function(idx, da) {
  global_idx = idx;
  console.log(global_idx);
});

console.log(global_idx); // Anywhere in JS

这是each()最后一个数据将进入全局变量。如果你需要全部,你必须在数组概念中设置。

var global_Array = new Array();
$.each(result, function(idx, da) {
   global_Array.push(idx); // storing in array
});
console.log(JSON.stringify(global_Array)); // Anywhere in JS

推荐阅读