2015-09-28 34 views
0

我从下拉列表中选择值并希望以下列方式使用它。 像这里一样,我从变量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

任何人都可以帮忙吗?

+0

可以请你澄清你是什么意思?你想在你的例子中获得ID为“RBSK”的对象还是你想检查一些东西?它不是完全理解 – Saar

+0

我想比较存储在变量中的值与deMapping对象:像var a =“RBSK”那么我怎样才能比较demapping的这个字符串。 – Marshmellow

+2

对不起,您的解释仍不清楚,您的变量a的值为“RBSK”,您可以使用deMapping [a]'从deMapping对象中获取RBSK的值,这就是您想要的吗? – Saar

回答

0

这就是你如何从解映射值(在这种情况下,我提醒它,但你可以做任何你想要与它当然):

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