理解JS中的枚舉
在JavaScript中,枚舉其實就是一種使用JSON格式的數(shù)據(jù),即鍵值對存在的數(shù)據(jù)。 第一步:JSON的定義 JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交
在JavaScript中,枚舉其實就是一種使用JSON格式的數(shù)據(jù),即鍵值對存在的數(shù)據(jù)。
第一步:JSON的定義
JSON(JavaScript Object Notation)是一種輕量級的數(shù)據(jù)交換格式,采用完全獨立于語言的文本格式,是理想的數(shù)據(jù)交換格式。同時,JSON是JavaScript原生格式,這意味著在JavaScript中處理JSON數(shù)據(jù)不需要任何特殊的API或工具包。
在JSON中,有兩種結(jié)構(gòu):對象和數(shù)組。
- 一個對象以“{”(左括號)開始,“}”(右括號)結(jié)束。每個“名稱”后跟一個“:”(冒號);“'名稱/值'對”之間使用“,”(逗號)分隔。名稱用引號括起來;值如果是字符串則必須用引號,數(shù)值型則不需要。
- 數(shù)組是值(value)的有序集合。一個數(shù)組以“[”(左中括號)開始,“]”(右中括號)結(jié)束。值之間使用“,”(逗號)分隔。
例如:
var o {
"name": "John",
"age": 30,
"city": "New York"
};
var arr ["apple", "banana", "orange"];
第二步:使用JSON實現(xiàn)級聯(lián)下拉框
具體代碼如下所示:
lt;!DOCTYPE htmlgt;
lt;htmlgt;
lt;headgt;
lt;meta charset"UTF-8"gt;
lt;titlegt;JSON數(shù)據(jù)下拉框lt;/titlegt;
lt;/headgt;
lt;bodygt;
lt;h2gt;省市聯(lián)動框lt;/h2gt;
?。?
lt;select id"selector" onchange"selectorChange()"gt;lt;/selectgt;
市:
lt;select id"selector2"gt;lt;/selectgt;
lt;script type"text/javascript"gt;
var sheng {
"廣東省key": "廣東省",
"河南省key": "河南省",
"河北省key": "河北省"
};
var shi {
"廣東省key": {
"gkey1": "廣州市",
"gkey2": "深圳市"
},
"河南省key": {
"hkey1": "鄭州市",
"hkey2": "周口市"
},
"河北省key": {
"bkkey": "石家莊"
}
};
var obj (sheng);
var selector ("selector");
var selector2 ("selector2");
function() {
for(var key in obj) {
var opt ("option");
key;
obj[key];
(opt);
}
var ds shi["廣東省key"];
for(var key in ds) {
var opt2 ("option");
key;
ds[key];
(opt2);
}
}
function selectorChange(value) {
selector2.options.length 0;
var ds shi[value];
for(var key in ds) {
var opt2 ("option");
key;
ds[key];
(opt2);
}
}
lt;/scriptgt;
lt;/bodygt;
lt;/htmlgt;
第三步:測試省市級聯(lián)
打開網(wǎng)頁,查看默認(rèn)市級下拉框。然后分別選擇河南省和河北省,觀察市級下拉框的變化??梢园l(fā)現(xiàn)市級下拉框會隨省的改變而改變。