gpt4 book ai didi

javascript - 遍历多个选择列表并计算每个选项被选中的次数

转载 作者:行者123 更新时间:2023-11-29 21:34:31 25 4
gpt4 key购买 nike

我正在处理的网站的一部分涉及创建相同选择 - 选项的重复实例。我想计算每个选项被选中的次数,然后将该数字存储为一个变量,然后可以将其发送到 php 电子邮件功能。

例如 - 如果“Infallid”被选中 3 次 - 我得到 infallid = 3,而其他的则为 0。

JS fiddle 展示了它是如何工作的 - https://jsfiddle.net/scx4shnd/2/

$("button").click(function(){
$("select[name='diskho'] > option:selected").each(function() {
alert(this.text + ' ' + this.value);
// should alert - "value 1 = x" , "value 2 = "y" ect" where x and y are different values (numbers)
});
$("select[name='spishall'] > option:selected").each(function() {
alert(this.text + ' ' + this.value);
});
});

最佳答案

您可以使用以下逻辑来计算一个选项被选中的次数:

$("button").click(function(){
var dishkoMap = {};
$("select[name='diskho'] > option:selected").each(function () {
var value = this.value;
if (dishkoMap[value]) { // if value already exists then increase it by 1
dishkoMap[value] += 1;
} else {
dishkoMap[value] = 1;
}
});
// dishkoMap is a dictionary object so you won't see anything in alert.
// open the browser console and you can see the counts corresponding
// to each selected option
console.log(dishkoMap);

});

同样,你也可以为SpishällBlandare编写。

我建议编写一个函数,在其中传递 select 的名称,然后返回 countMap。

function getCountMap(name) {
var countMap = {};
$("select[name='" + name + "'] > option:selected").each(function () {
var value = this.value;
if (countMap[value]) { // if value already exists then increase it by 1
countMap[value] += 1;
} else {
countMap[value] = 1;
}
});
return countMap;
}

然后将其用作:

var dishkoMap = getCountMap('dishko');
var spishallMap = getCountMap('spishall');
// etc.

关于javascript - 遍历多个选择列表并计算每个选项被选中的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35223249/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com