使用另一个节点查询JSON节点值's值

Query JSON node value with another node's value

本文关键字:节点 JSON 另一个 查询      更新时间:2023-09-26

JSON新手,所以我会在这里尽我所能。我有一个名为HUDS的JSON对象。下面是两个示例节点(顺便问一下,我可以像在XML中那样用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"字段特定的值。例如,用户可以从下拉菜单中选择"棕色"。

然后我想创建一个可以用来填充div的var。例如,当用户选择BROWN时,我希望我的div填充"EMU_Name"中的值

我知道这是错误的,但也许它传达了我对的追求

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

}

尝试:

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