将$ .each()值存储在变量中并使用它

时间:2017-03-22 05:25:43

标签: jquery arrays variables each sub-array

我有一个子数组,我试图将子数组的结果存储在变量中。

$.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>';

我收到错误号码未声明

2 个答案:

答案 0 :(得分:1)

这是因为,变量号仅在函数内部可用,而不在其外部!有关javascript中变量范围的更多信息,请查看here

所以你需要指定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);

希望它有所帮助!

答案 1 :(得分:1)

范围问题并在循环外绑定。

   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>';