我正在处理的网站的一部分涉及创建相同选择的重复实例 - 选项。我想计算每个选项被选中的次数,然后将该数字存储为变量,然后可以将其发送到php电子邮件功能。
例如 - 如果选择“Infallid”3次 - 我得到infallid = 3,其他为0。
JS小提琴演示如何运作 - https://jsfiddle.net/scx4shnd/2/
MINUS
答案 0 :(得分:2)
您可以使用以下逻辑来计算选择选项的次数:
$("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äll
和Blandare
撰写。
我建议编写一个函数,在其中传递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.