2017-03-22 3 views
0

j'ai un tableau sous, et je suis en train de stocker les résultats du tableau sous comme celui-ci à l'intérieur d'une variable.

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

Je suis en train d'utiliser cette variable dans une autre variable

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

Je reçois l'erreur numéro n'est pas déclaré

Répondre

1

un problème de portée et se lient à l'extérieur de la boucle.

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

Et l'utilisation du nombre.

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

a parfaitement fonctionné! –

+0

Content de t'aider :) –

1

C'est parce que, le nombre variable est uniquement disponible à l'intérieur du fonction et pas dehors! Vérifiez here pour plus d'informations sur la portée des variables en javascript!

Vous devez affecter temp et exécuter les fonctionnalités connexes à l'intérieur de chaque fonction.

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

Hope it helps!

+0

Le seul problème avec cela est que j'ai plus d'un tableau de sous que je veux utiliser dans temp, puis sera température de la main à '$ (« # contenu dynamique ») html (temp).' Votre solution provoque température à ne pas déclaré dans le 'html (templ)' –

+0

J'ai ajouté les modifications! –

+0

la sous-matrice ont plus d'un numéro .. Ainsi, il a fait le contenu apparaître deux fois .. si j'avais plus de deux chiffres, il sera repeate plus –