[英]How to select multiple specific property with distinct value from javascript array
[英]Choosing specific array in javascript using value from html select
我有許多包含多個值的數組。
var ab = [".inb", ".bhm", ".bab", ".mdr"];
var bc = [".thc", ".lsl", ".cma", ".vth"];
var de = [".myh", ".rte", ".bab", ".tzs"];
etc
我正在使用select指定通過更改菜單上的css值來迭代哪個數組
$('#browse2').on('change', function () {
// the value of #browse2 would be ab or bc or de etc
var fv = $('#browse2').val();
for (i = 0; i < fv.length; ++i) {
$(fv[i]).css('opacity', '1.0');
}
});
但是不幸的是,這段代碼僅通過fv值本身(即:ab),它不會使用相同的變量名來調用數組。 如何告訴for語句使用與fv值同名的變量?
我建議您將數組存儲為對象的屬性。 您將可以在方括號表示法的幫助下訪問它們:
var obj = {
ab: [".inb", ".bhm", ".bab", ".mdr"],
bc: [".thc", ".lsl", ".cma", ".vth"],
de: [".myh", ".rte", ".bab", ".tzs"]
};
$('#browse2').on('change', function () {
var fv = $('#browse2').val();
for (i = 0; i < obj[fv].length; ++i) {
$(obj[fv][i]).css('opacity', '1.0');
}
});
更改此行:
var fv = $('#browse2').val();
至:
var fvValue = $('#browse2').val();
var fv;
switch(fvValue){
case "ab": fv = ab; break;
case "bc": fv = bc; break;
case "cd": fv = cd; break;
}
基本上,在fv
您存儲的是字符串“ ab”,而不是對ab
數組對象的引用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.