如何读取对象

时间:2015-09-30 06:55:53

标签: javascript jquery

我从Drop down中选择值,并希望以下列方式使用它。 就像在这里一样,我从变量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>
&#13;
&#13;
&#13;

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

&#13;
&#13;
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:{}
};
&#13;
&#13;
&#13;

我想以这种方式使用selectedText:

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

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

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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

你的问题不是很明确,但我已经尝试了我的理解。

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

对于des,没有六个对象,因此无效。

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

&#13;
&#13;
<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>
&#13;
&#13;
&#13;