如何读取对象的属性

How to read property of Object

本文关键字:属性 取对象 何读      更新时间:2023-09-26

我从下拉菜单中选择值,并希望以以下方式使用它。像这里一样,我从变量selectedtext的下拉列表中返回值。

  <p style="font-size:150%;margin-left:20%; margin-top:50px"> Sources :
        <select id="drop" name="drop">
            <option value="0">Select Source</option>
            <option value="1">RBSK</option>
            <option value="2">MIDRS</option>
            <option value="3">ATM </option>
            <option value="4">RT </option>
        </select>
        <script type="text/javascript">
            $(function () {
                $("#drop").change(function () {
       var  selectedText = $(this).find("option:selected").text();
//var selectedValue = $(this).val();
//alert("Selected Text: " + selectedText + " Value: " + selectedValue);
                });
            });
        </script>

现在我想在这里使用这个值:

var deMapping = {
            RBSK: {'dsUID': 'tdTwLUxcQ8R', rootNodeName: 'RBSK_GIS_Indicator', orgUnitTagName: 'MCTSCode', des: [
                {
                    xmlid: "Childhood_Diseases_0_6_Female",
                    dataElement: "oV163sbcJ0N",
                    categoryOptionCombo: "Cmzbo9LD8pJ"
                }
                ]},
           ATM:{},
           ABC:{},
           DEF:{}
};

我想这样使用selectedText

deMapping.RBSK.des[5].categoryOptionCombo; //Here it will return the correct value of 6th element in des array.

现在我想用用户从下拉菜单中选择的selectedText替换RBSK。

因此,如果用户选择ATM,它应该返回与ATM相关的值。如deMapping.selectedText.des[5].categoryOptionCombo;变为deMapping.ATM.des[5].categoryOptionCombo;,如果用户从下拉菜单中选择ATM

有人能帮忙吗?

你的问题不是很清楚,但我已经尝试了我所理解的。

deMapping.RBSK.des[5].categoryOptionCombo;//返回数组中第6个元素的正确值

对于des,没有六个对象,因此将不起作用。

这里是用于替换的工作代码片段,但它只适用于选项RBSK,因为其他选项没有任何数据。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p style="font-size:150%;margin-left:20%; margin-top:50px"> Sources :
<select id="drop" name="drop">
    <option value="0">Select Source</option>
    <option value="RBSK">RBSK</option>
    <option value="MIDRS">MIDRS</option>
    <option value="ATM">ATM</option>
    <option value="RT">RT</option>
</select>
</p>
<script type="text/javascript">
var deMapping = {
    RBSK: {'dsUID': 'tdTwLUxcQ8R', rootNodeName: 'RBSK_GIS_Indicator', orgUnitTagName: 'MCTSCode', des: [
    {
        xmlid: "Childhood_Diseases_0_6_Female",
        dataElement: "oV163sbcJ0N",
        categoryOptionCombo: "Cmzbo9LD8pJ"
    }
    ]},
    ATM:{},
    ABC:{},
    DEF:{}
};
$(function () {
    $("#drop").change(function () {
        var selectedText = $(this).find("option:selected").text();
        alert(deMapping[selectedText].des[0].categoryOptionCombo);
    });
});
</script>