2012-01-04 106 views
0

JSON的新手,所以我會盡我所能。我有一個名爲HUDS的JSON對象。下面是2個示例節點(順便說一下,我可以像XML一樣在JSON中調用這些節點嗎?)。用另一個節點的值查詢JSON節點值

var HUDS = [ 
{ 
    "DISTRICT": "100", 
    "BIOS": "BROWN", 
    "AREA_KM": "3663.158164", 
    "AREA_MI": "1414.347616", 
    "NAME": "100", 
    "REG": "1", 
    "ACRES": "905182", 
    "EMU_Name": "Purcell", 
    "Shape_Leng": "299746.4938", 
    "Shape_Area": "3663158164", 
}, 
{ 
    "DISTRICT": "101", 
    "BIOS": "THIER", 
    "AREA_KM": "1507.774765", 
    "AREA_MI": "582.152762", 
    "NAME": "101", 
    "REG": "1", 
    "ACRES": "372578", 
    "EMU_Name": "Salish", 
    "Shape_Leng": "229150.0655", 
    "Shape_Area": "1507774766", 
} 

]

我有一個下拉將被用來指定在我的JSON具體到「BIOS」字段中的值的形式。例如,用戶可以從下拉菜單中選擇BROWN。

我想創建一個可以用來填寫div的var。例如,當用戶選擇BROWN我想我的股利,以填補從「EMU_Name」

我知道這是錯誤的,但價值也許它傳達什麼,我去爲

function dropDownAction(){ 
var tempBios=document.BIOSForm.BIOS.value; 
var tempEmuValue=HUDS.BIOS==tempBios.EMU_Name; 
document.getElementById("mydiv").innerHTML=tempEmuValue; 

}

+0

可能重複的[javasccript找到對象的數組元素(http://stackoverflow.com/questions/8234211/javasccript-find-element-in-array-of-object) – 2012-01-04 02:21:02

+0

你的問題是與JSON無關。你只是試圖在Javascript數組中找到一個Javascript對象。 – 2012-01-04 02:22:19

+0

謝謝...下面的解決方案很適合引用我的Javascript數組。 Felix,JSON和Javascript數組有什麼不同? – snowgage 2012-01-04 14:52:29

回答

1

嘗試:的

<form name="BIOSForm"> 
     <select name="BIOS" onchange="dropdownaction();"> 
      <option value="BROWN">BROWN</option> 
      <option value="THEIR">THEIR</option> 
     </select> 
    </form> 
    <div id="emuname"> 

    </div> 

    <script type='text/javascript'> 
    var HUDS = [ 
    { 
     "DISTRICT": "100", 
     "BIOS": "BROWN", 
     "AREA_KM": "3663.158164", 
     "AREA_MI": "1414.347616", 
     "NAME": "100", 
     "REG": "1", 
     "ACRES": "905182", 
     "EMU_Name": "Purcell", 
     "Shape_Leng": "299746.4938", 
     "Shape_Area": "3663158164", 
    }, 
    { 
     "DISTRICT": "101", 
     "BIOS": "THIER", 
     "AREA_KM": "1507.774765", 
     "AREA_MI": "582.152762", 
     "NAME": "101", 
     "REG": "1", 
     "ACRES": "372578", 
     "EMU_Name": "Salish", 
     "Shape_Leng": "229150.0655", 
     "Shape_Area": "1507774766", 
    } 
    ] 

    function dropdownaction(){ 
     for(var x=0;x<HUDS.length;x++){ 
      var tempBios = document.BIOSForm.BIOS.value; 
      if(tempBios == HUDS[x].BIOS){ 
       document.getElementById("emuname").innerHTML = HUDS[x].EMU_Name; 
       break; 
      } 
     } 

    } 


    </script> 
相關問題