我尝试根据数组进行三重依赖下拉列表。它几乎都有效。这就是我所拥有的:
// Types
var p_arr = new Array();
p_arr[0]="Fire";
p_arr[1]="Police";
p_arr[2]="Medical";
p_arr[3]="Accident";
// Brands
var br_a = new Array();
br_a[0]=""; // Select
br_a[1]="Thing|Testing|New"; // relating to p_arr[0], and so on
br_a[2]="Test1|Test2|Test3";
br_a[3]="Test4|Test5|Test6";
br_a[4]="Test7|Test8|Test9";
// Varieties
var v_a1 = new Array();
v_a1[0]=""; // Select
v_a1[1]="CA|CB|CC"; // relating to br_a[1] first item
v_a1[2]="CD|CF|CG"; // relating to br_a[1] second item, and so on
v_a1[3]="CH|CI|CJ";
// Varieties
var v_a2 = new Array();
v_a2[0]=""; // Select
v_a2[1]="BA|BB|BC"; // relating to br_a[2] first item
v_a2[2]="BD|BF|BG"; // relating to br_a[2] second item, and so on
v_a2[3]="BH|BI|BJ";
v_a2[4]="BK|BL|BM";
etc.................
当我填充我的最后一个下拉列表时,它需要查看以太网v_a1,v_a2等部分,具体取决于初始的p_arr选择。
我可以像这样引用它们:
var variety_arr = v_a1[selectedBIndex].split("|");
var variety_arr = v_a2[selectedBIndex].split("|");
这样可行,但我需要自动为最后一个选择选择合适的组,我不想使用if / then / else语句。
变量" selpID"具有所选" p_arr"的数量值。在选择。例如,如果选择了第一个项目,则它等于" 1",如果是第二个," 2"等等。
我该怎么做:
var variety_arr = v_a{value of selpID}[selectedBIndex].split("|");
我已经尝试了括号,句号,+符号等,但我很难过(我对Javascript不是很好)。我确定这是一种简单的方法 - 我怎样才能将selpID(" 1"," 2"等)的值添加到v_a不会弄乱阵列的解释吗?
答案 0 :(得分:0)
您可以在Javascript中将对象嵌套到任意深度,所以:
var dontCallMeArray = {
brands: [
['red', 'blue', 'dark'],
'OR|SOME|PERVERSION'.split('|'),
['more', 'nested', 'arrays']
],
types: [
'Fire', 'Police', 'Medic', 'Coroner'
],
andSoOn: []
};