【问题标题】:storing $.each() value in variable and using it将 $.each() 值存储在变量中并使用它
【发布时间】:2017-08-14 01:56:34
【问题描述】:

我有一个子数组,我正在尝试将子数组的结果像这样存储在一个变量中。

$.each(abc[0].Phone, function (i, item) {
   var number = '<p> '+ item.Phone +'</p>';
 }); 

然后我试图在另一个变量中使用这个变量

var temp = '<div class="row">\n\
              <div class="col-md-6">\n\
                <h4>' + abc[0].FullName + '</h4>\n\
                  <p>Phone: '+ number +' </p>\n\
               </div>\n\
             </div>';

我收到未声明数字的错误

【问题讨论】:

    标签: jquery arrays variables each sub-array


    【解决方案1】:

    那是因为,变量号只能在函数内部使用,不能在函数外部使用!查看here 了解更多关于 javascript 中变量范围的信息!

    所以你需要分配 temp 并在每个函数中执行相关的功能。

    var number=''
    $.each(abc[0].Phone, function (i, item) {
    
       number =number+ '<p> '+ item.Phone +'</p>';
     }); 
    
       var temp = '<div class="row">\n\
                  <div class="col-md-6">\n\
                    <h4>' + abc[0].FullName + '</h4>\n\
                      <p>Phone: '+ number +' </p>\n\
                   </div>\n\
                 </div>';
    $('#dynamic-content').html(temp);
    

    希望对你有帮助!

    【讨论】:

    • 唯一的问题是我有多个要在 temp 中使用的子数组,然后将 temp 交给 $('#dynamic-content').html(temp); 您的解决方案将导致 temp 在 @987654324 中未声明@
    • 子数组有多个数字..所以,它使内容显示两次..如果我有两个以上的数字,它将重复更多
    • 这个问题不清楚!我已添加编辑!
    【解决方案2】:

    作用域问题并在循环外绑定。

       var number = '';
        $.each(abc[0].Phone, function (i, item) {
            number += '<p> '+ item.Phone +'</p>'; // For repeated  phone
         }); 
    

    以及数字的使用。

    var temp = '<div class="row">\n\
                  <div class="col-md-6">\n\
                    <h4>' + abc[0].FullName + '</h4>\n\
                      <p>Phone: '+ number +' </p>\n\
                   </div>\n\
                 </div>';
    

    【讨论】:

    • 很高兴为您提供帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-13
    • 2012-01-26
    • 2016-09-23
    • 2014-05-17
    • 2022-10-17
    • 2013-10-22
    • 1970-01-01
    相关资源
    最近更新 更多