[英]Convert string to variable in Javascript
有什么辦法可以將字符串轉換為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]
。 有什么解決方案?
var dict = {
'A': ['Name', 'Description'],
'B': ['Name 2', 'Description']
};
dict['A'][0]
因此可以動態訪問
dict[selectedAccount][0]
您可以使用對象文字代替數組:
var dict = {
'A': {'name': 'john'}
};
dict['A']['name']
我會用這樣的東西:
<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>
經過測試:Google Chrome 6.0.427.0 dev
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.