2015-09-30 122 views
3

我從下拉列表中選擇值並希望以下列方式使用它。 像這裏一樣,我從變量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相關的值。像deMapping.selectedText.des[5].categoryOptionCombo;如果用戶從下拉菜單中選擇ATM

任何人可以幫助變得deMapping.ATM.des[5].categoryOptionCombo;

+0

使用解映射[selectedText] .DES [5] .categoryOptionCombo – murli2308

+0

爲什麼你需要'des'作爲一個數組?對於不同的選定值,您已經有了不同的「對象」 – Rayon

回答

0

你的問題不是很清楚,但我試過我的理解。

deMapping.RBSK.des[5].categoryOptionCombo; //這將在Des數組的形式返回第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>