2012-04-22 7 views
6

मैं बहु-आयामी सरणी से मान प्राप्त करने का प्रयास कर रहा हूं। अभी तक मेरे पास इतना ही है।
जब मैं सरणी में पहला विकल्प चुनता हूं तो मुझे 99 और छवि के मान की आवश्यकता होती है, उदा। "बिली जोएल"।जावास्क्रिप्ट: बहु-आयामी ऐरे से मूल्य कैसे प्राप्त करें?

var concertArray = [ 
    ["Billy Joel", "99", "equal.png"], 
    ["Bryan Adams", "89", "higher.png"], 
    ["Brian Adams", "25", "lower.png"] 
]; 

function populate(){ 
    for(i = 0; i < concertArray.length; i++){ 
     var select = document.getElementById("test"); 
     select.options[select.options.length] = new Option(concertArray[i][0], concertArray[i][1]); 
    } 
} 

उत्तर

5

99 =>concertArray[i][1] छवि =>concertArray[i][2]

+0

धन्यवाद इतना .... अब, क्या मैं इस संरचना में concertImage पूरा करने के लिए क्या करना होगा: concertName = concertList.options [concertIndex] .text; concertPrice = parseFloat (concertList.options [concertIndex] .value); concertImage = ??? मदद करने के लिए – kentrenholm

0

AFAIK, Option निर्माता केवल दो तर्क, पाठ और value लेता है। आप और अधिक डेटा पास करना चाहते हैं, मैं सुझाव है कि आप एचटीएमएल 5 डेटा एपीआई का उपयोग:

var opt = new Option(concertArray[i][0], concertArray[i][1]); 
opt.setAttribute('data-image', concertArray[i][2]); 
select.options[select.options.length] = opt; 

तो फिर तुम यह कर सकते हैं हड़पने getAttribute('data-image')

14

का उपयोग कर आप ऑब्जेक्ट की श्रृंखला के लिए बहु-आयामी सरणी को बदलने के लिए कोशिश कर सकते हैं इस तरह:

var concertArray = [ 
    {name: "Billy Joel", value: 99, image: "equal.png"}, 
    {name: "Bryan Adams", value: 89, image: "higher.png"}, 
    {name: "Brian Adams", value: 25, image: "lower.png"} 
]; 

तो फिर तुम आइटम सरणी में नियमित रूप से वस्तुओं की तरह उपयोग कर सकते हैं:

var concertName = concertArray[0].name; 
var concertPrice = parseFloat(concertArray[0].value); 
var concertImage = concertArray[0].image; 
+0

thnks, इसकी असली अच्छी – kamal

+0

इस तरह की एक सरणी को फिर से कैसे करें? – aspiring

0

आप नीचे दिए गए लूप के लिए 2 का उपयोग करके मूल्यों तक पहुंच सकते हैं।

var concertArray = [ 
    ["Billy Joel", "99", "equal.png"], 
    ["Bryan Adams", "89", "higher.png"], 
    ["Brian Adams", "25", "lower.png"] 
    ]; 

function populate(){ 
    for(i=0;i<arr.length;i++) 
    { 
     for(j=0;j<arr[i].length;j++) 
     { 
      console.log(arr[i][j]); 
     } 
    } 
} 
+1

यह उत्तर बड़े सरणी के लिए बहुत बुरा है। –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^