我有三个下拉列表,
我需要在桌子上选择数据。例如:
如左边和alu和22
被选中,我需要这些信息
line 1 = 13857
Line 2 = 13861
Line 3 = 17989
其他例子:
如右和inox以及17选中,我需要有关的信息
Line 1 = 13856
Line 2 = 21839
Line 3 = 17988
来自评论的编辑:
我有三个清单:
列表1:Code 22 =13857 Code 17 = 13856 Code 46 = 13855
列表2:Aluminiun left =13681 Aluminiun right =13862 Inox left = 21838 Inox right = 21839
列表3:Code L22 = 17989 Code R22 = 17990 Code L17 = 17987 Code R17 = 17988 Code L46 = 17991 Code R46 = 17992
三个下拉列表应与选项相关联:
下拉1:左或右
下拉2:22,17或46
下拉3:铝或不锈钢
通过所有三个下拉列表的组合,我应该有一个列表,
第1行的代码A:从下拉列表2,例如如果选择22,那么应该出现数字13857
第2行的代码B:来自组合下拉列表1和下拉列表3的信息。
例如:left和inox,那么应该出现数字21838
第3行的代码C:来自组合下拉列表1和下拉列表2的信息。
例如:22和左边,然后应该出现数字17989我有一个按钮来计算功能。
问题的描述并不顺利。我的工作例如:link和下拉列表的示例,或者如果使用单选按钮更好。 link可以添加更多var。例如:var S22 = 13857 var S17 = 13856 var S22 = 13855 var A22L = 13857
答案 0 :(得分:0)
我认为,您需要这样的数据结构:
{
"line1": {
"17": 13856,
"22": 13857,
"46": 13855
},
"line2": {
"left": {
"alu": 13861,
"inox": 21838
},
"right": {
"alu": 13862,
"inox": 21839
}
},
"line3": {
"left": {
"17": 17987,
"22": 17989,
"46": 17991
},
"right": {
"17": 17988,
"22": 17990,
"46": 17992
}
}
}
这允许选择想要的行并获取所选项目中所选项目的值。
使用
进行访问非常简单// example for 17 right inox
data.line1['17']
data.line2['right']['inox']
data.line3['right']['17']
在一个有效的例子中:
var data = {
line1: {
'22': 13857,
'17': 13856,
'46': 13855,
},
line2: {
left: {
alu: 13861,
inox: 21838
},
right: {
alu: 13862,
inox: 21839
}
},
line3: {
left: {
'22': 17989,
'17': 17987,
'46': 17991,
},
right: {
'22': 17990,
'17': 17988,
'46': 17992,
}
}
};
function getCode() {
function getValue(name) {
return document.order[name].options[document.order[name].selectedIndex].value
}
var size = getValue('size'),
side = getValue('side'),
material = getValue('material');
document.getElementById('line1').innerHTML = data.line1[size];
document.getElementById('line2').innerHTML = data.line2[side][material];
document.getElementById('line3').innerHTML = data.line3[side][size];
}
<form name="order">
Size
<select name="size" onchange="getCode();">
<option value="22">22 mm</option>
<option value="17">17 mm</option>
<option value="46">46 mm</option>
</select>
Side
<select name="side" onchange="getCode();">
<option value="left">Links</option>
<option value="right">Rechts</option>
</select>
Material
<select name="material" onchange="getCode();">
<option value="alu">Alu</option>
<option value="inox">inox</option>
</select>
</form>
<p>
Line 1: <span id="line1"></span><br />
Line 2: <span id="line2"></span><br />
Line 3: <span id="line3"></span>
</p>