2010-03-08 5 views
0

J'ai des tableaux de chaînes longues, qui ressemble à ce queMagasin Une longue chaîne dans un tableau mult

var callinfo_data=new Array(
"1300 135 604#<b>Monday - Friday: 9:00 a.m. to 5:30 p.m. AEST</b>", //Australia 
.. 
"0844000040#<b>lunedì-venerdì ore 10:00 - 17:00 CET</b>", //Switzerland (it) 
"212 356 9707#<b>Hafta içi her gün: 10:00 - 18:00</b>", //Turkey 
"08451610009#<b>Monday - Friday: 9:00 a.m. to 6:30 p.m. GMT</b>", //UK 
"866 486 6866#<b>Monday - Friday: 7:00 a.m. to 11:00 p.m. EST</b><br />Saturday: 9:00 a.m. to 8:00 p.m. EST", //USA 
"+31208501004#<b>Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1</b>", //other countries 
" # "); 

Comme vous le voyez, ce numéro de téléphone et contacts temps ouvert. Je peux utiliser split pour les séparer en info = callinfo_data [n] .split ("#"); deux sections, Et puis je peux les représenter en HTML comme

"<div id ='phoneNumber'>"+info[0]+"</div><div id='openTime'>"+info[1]+"</div>" 

Mais mon téléphone d'affichage fonction du numéro lira les variables cookie, puis sélectionnez les informations de contact de droite pour afficher.

Comme,

 phone=callinfo_data[2].split("#"); 
if (locale == 'UK')   details = phone[0]+ build_dropdown(locale); 
    else if (locale == 'fr') details = 'French Contact Details<br>'+build_dropdown(locale); 
    else if (locale == 'be') details = 'Belgian Contact Details<br>'+ build_dropdown(locale); 
    else details = 'Unknown Contact Detail'; 
    writeContactInfo(details); 

Mes questions sont comment je peux construire une fonction pour charger le numéro de téléphone et le temps en fonction de mes variables cookie, au Royaume-Uni de manière intelligente.

Je peux tout coder en dur, mais je pense que c'est trop bête.

Je dois écrire un code long comme:

phone1= allinfo_data[0].split("#"); 

phone1= allinfo_data[1].split("#"); 
... 

etc

des questions Deuxièmement, comment puis-je charger cette longue des réseaux dans des réseaux multi-accès facile?

Merci

Cordialement, Qing

Répondre

0

au lieu d'utiliser les chaînes et les diviser pourquoi ne pas utiliser littéraux d'objet pour stocker vos données?

Comme ça ...

{ 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
} 

Vous pouvez mettre ces objets à l'intérieur d'un tableau:

var locales = { 
    "UK" : { 
    "details": "UK Contact Info", 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
}, 
    "DE": { 
    "details": "DE Contact Info", 
    "phone" : "111-111-1111", 
    "hours" : "Monday - Friday: 9:00 a.m. to 7:30 p.m. GMT+1" 
}}; 

Vous pouvez alors y accéder comme ceci:

locales["UK"]["phone"]; 

function buildTimeInfo(){ 
    var newDiv = document.createElement("div"); 
    var html = "<h2>" + locales[locationFromCookie]["details"] + "</h2>"; 
    html += "<h3>" + locales[locationFromCookie]["hours"] + "</h3>"; 
    html += "<p>" + locales[locationFromCookie]["phone"] + "</p>"; 
    newDiv.innerHTML = html; 
    document.body.appendChild(newDiv); 
}; 
Questions connexes