![](/img/trans.png)
[英]How to create a Switch statement with dynamic cases using Javascript
[英]How do I add cases to a switch statement using javascript by getting json data from a database using ajax?
現在,我有一個應用程序,用戶單擊生成按鈕,然后使用下面的函數創建一個隨機對象。 還有一個清單。 用戶選中一堆選項,只有選中的選項可以隨機選擇並變成對象。
我想要做的是將清單移至另一頁,並使用php來存儲已選中的復選框。 然后在另一頁上有使用該功能的應用程序,用於從數據庫(使用mysql)獲取該數據(復選框數據)。
我能想到的最好的方法是:當他們選中復選框並保存結果后,讓php寫json文本。 然后,在應用程序啟動之前,使用ajax在javascript中檢索json。
因此,從根本上講,我想要的是使用數據庫中的數據創建case語句,並具有完整的功能以供應用程序使用。
(有很多case語句和更多對象,例如'object c'將通過CMS動態添加,因此我不能只將所有詳細信息放在js文件中。這就是為什么我需要數據庫中的所有內容)
如果有人有更好的主意來實現這一目標,我非常樂意聽:')
function getObj(objName) {
switch(objName) {
case 'a':
var x = new Object('name1','id1');
x.entrance = ['1','3','4'];
x.exit = ['2','3'];
return x;
case 'b':
var x = new Object('name2','id2');
x.entrance = ['2','3','6'];
x.exit = ['2','3','7'];
return x;
default:
console.log('Error at object conversion. Object was not found');
break;
}
}
從php傳遞這樣的json數據:
{
'a': {
'id': 'id1',
'name': 'name1',
'entrance': [1, 2, 4],
'exit': [2, 3]
},
'b': {
'id': 'id2',
'name': 'name2',
'entrance': [2, 3, 6],
'exit': [2, 3, 7]
}
}
比javascript中將json字符串解析為對象后,只需訪問相應的屬性即可:
var data = JSON.parse(jsonString);
function getObj(objName) {
return data[objName];
}
{}
包含的內容代表一個對象,並將由JSON.parse()
解碼為一個對象。 如果您正在使用jQuery的ajax()
方法,則數據將已經自動解析。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.