2016-07-26 5 views
0

erstellen Ich verwende diese plugin auf meiner Website, die funktioniert super. Sie können einen Parameter für Staat bestimmte Stile passieren, sieht es wie folgt aus:Dynamisch Parameter aus Array in jQuery

$('#map').usmap({ 

    showLabels: false, 
    stateStyles: { 
     fill : '#ffffff', 
     stroke : '#4f4f4f', 
     'stroke-width' : 4, 
    }, 

    stateHoverStyles: { 
     fill : '#ffffff' 
    }, 

    stateSpecificStyles: { 
     'IN': { 
      fill : '#84b8e7' 
     }, 

     'CA': { 
      fill : '#84b8e7'  
     }, 

     'TX': { 
      fill : '#84b8e7'  
     } 
    }, 

    stateSpecificHoverStyles: { 

     'IN': { 
      fill : '#0972ce'  
     }, 

     'CA': { 
      fill : '#0972ce'  
     }, 

     TX': { 
      fill : '#0972ce'  
     } 
    } 
}); 

ich aus einem Array dynamisch in diesen Zustand Stile füllen möchte, das aussieht wie [ „CA“, „IN“, „TX“ ]. Ist das möglich?

+0

Ja, ist es möglich! Wenn Sie Ihren relevanten Code/Ihre Bemühungen teilen, ist die Community viel eher in der Lage Ihnen zu helfen =) (siehe http://stackoverflow.com/help/mcve und http://stackoverflow.com/help/how-to-ask) – Hodrobond

+0

Wird, danke. Ich habe selbst einige Anstrengungen unternommen, aber ich dachte, sie wären einfach nur Unsinn. Ich werde sie das nächste Mal veröffentlichen. – Ben

+0

Code Whitespace – jwvh

Antwort

1

Wenn Sie nur nach einer Möglichkeit suchen, ein Objekt zu erstellen, das so aussieht, wird dieses Snippet es für Sie tun. Lassen Sie uns mehr darüber wissen, was Sie haben/brauchen, und ich kann dies erweitern.

var arr = ['CA', 'IN', 'TX'], // Your state vars 
 
    output = []; 
 

 
arr.forEach(function(el) { 
 
    output[el] = { 
 
    fill: '#000000' // Could come from the same array, if needed 
 
    }; 
 
)}; 
 
      
 
console.log(output);

+0

Das hat perfekt funktioniert. Danke mein Herr. – Ben

+0

Kein Problem! Lassen Sie mich wissen, wenn Sie weitere Fragen haben. –

Verwandte Themen