【发布时间】:2021-04-12 19:31:30
【问题描述】:
我正在尝试从下拉列表中选择商店或验证多个项目,但我不知道该怎么做。 让我解释一下我想要做什么...... 我将食品质量放入 json 列表中
<select id="locality-dropdown" name="locality" multiple="multiple" size="2">
</select>
<script>
var Food = //4 elements json format
[
{
"name": "food1",
"Glc": 2,
"Lip": 0.2,
"Prot": 0.5,
"IG": 20
},
{
"name": "food2",
"Glc": 4,
"Lip": 1.2,
"Prot": 0.7,
"IG": 40
},
{
"name": "food3",
"Glc": 5,
"Lip": 0.32,
"Prot": 0.76,
"IG": 60
},
{
"name": "food4",
"Glc": 7.5,
"Lip": 1.5,
"Prot": 1.3,
"IG": 80
}
];
然后我把这个列表放在一个下拉格式中:
let dropdown = document.getElementById('locality-dropdown');
dropdown.length = 0;
let defaultOption = document.createElement('option');
defaultOption.text = 'Choose Food';
dropdown.add(defaultOption);
dropdown.selectedIndex = 0;
let option;
for (let i = 0; i<Food.length; i++) {
option = document.createElement('option');
option.text = Food[i].name;
option.value0 = Food[i].Glc;
option.value1 = Food[i].Lip;
option.value2 = Food[i].Prot;
option.value3 = Food[i].IG;
console.log(option.value0,option.value1,option.value2,option.value3)
dropdown.add(option);}
</script>
那时我有一个不错的下拉列表框,里面有 food1 、 food2 、 food3 、 food4 。
瞧!现在该怎么办?!
我需要选择其中的一些,然后从这些选定的项目中,使用上面显示的列表中的数字来跟随我的数学运算,例如 Glc 的总和、Lip 的总和等。
我不知道我是否足够清楚,但是假设我选择了 food1 和 food3,那么因为我正在选择它们,所以稍后会在需要时返回:food1 的 Glc + food3 的 Glc ; food1 的唇 + food3 的唇等 - 如果选择了 3 个元素,则使用 3 个元素进行相同的处理。 我不知道如何编写代码以及使用哪种技术是否是其他 json 、所选元素的数组...?
【问题讨论】:
-
我想你会想要在
select元素的onchange事件中添加一个eventListener。然后在您的事件侦听器回调函数中显示值,此 SO 帖子可能会为您提供所需的 - (stackoverflow.com/questions/30372235/…)
标签: javascript arrays json stored-procedures dropdown