对象下的对象

时间:2015-09-28 09:13:03

标签: javascript

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

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

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; //这里它将返回des数组中第6个元素的正确值。

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

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

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

这就是你从deMapping获得价值的方法(在这种情况下我会提醒它,但你当然可以随心所欲地做任何事情):

$(function () {
  $("#drop").change(function () {
    var selectedText = $(this).find("option:selected").text();
    alert(deMapping[selectedText].des.categoryOptionCombo);
  });
});