代码之家  ›  专栏  ›  技术社区  ›  waiwai933

在Javascript中将字符串转换为变量

  •  2
  • waiwai933  · 技术社区  · 14 年前

    有没有办法在Javascript中将字符串转换成变量?现在,我有一个脚本,它根据选择框的值更新数据:

    <script type="text/javascript">
    var a = new Array();
    a[0] = 'Name';
    a[1] = 'Description';
    
    var b = new Array();
    b[0] = 'Name 2';
    b[1] = 'Description 2';
    
    function changeSystem(){
        var selectedAccount=document.getElementById('selected_option').value;
    
        document.getElementById('name').innerHTML = selectedAccount[0];
        document.getElementById('description').innerHTML = selectedAccount[1];
    }
    </script>
    <form method="POST">
        <select onchange="changeSystem()" id="selected_option">
         <option>A</option>
         <option>B</option>
        </select>
    </form>
    <span id="name"></span><br>
    <span id="description"></span><br>
    

    selectedAccount <select> . 但是,要访问数组,它必须是一个变量,即。 a[0] 'a'[0] . 有什么解决办法?

    2 回复  |  直到 14 年前
        1
  •  4
  •   meder omuraliev    14 年前
    var dict = {
        'A': ['Name', 'Description'],
        'B': ['Name 2', 'Description']
    };
    
    dict['A'][0]
    

    所以用

    dict[selectedAccount][0]
    

    var dict = {
        'A': {'name': 'john'}
    };
    
    dict['A']['name']
    
        2
  •  3
  •   user180100 user180100    14 年前

    <script type="text/javascript">
    var stuff = { 
        A: { name: 'Name', desc: 'Description'},
        B: { name: 'Name 2', desc: 'Description 2'}
    };
    
    function $(aId) {
        return document.getElementById(aId);
    }
    
    function changeSystem(){
        var selectedAccount = $('selected_option').value;
    
        if (selectedAccount in stuff) {
            $('name').innerHTML = stuff[selectedAccount].name;
            $('description').innerHTML = stuff[selectedAccount].desc;
        } else {
            $('name').innerHTML = '';
            $('description').innerHTML = '';
        } 
    }
    </script>
    <form method="POST">
        <select onchange="changeSystem()" id="selected_option">
            <option>A</option>
            <option>B</option>
            <option>C</option>
        </select>
    </form>
    <span id="name"></span><br>
    <span id="description"></span><br>