$("#mySelect").on("click", "option", function(){
var max = 3;
if ( max <= $(this).siblings(":selected").length ) {
alert("Only " + max + " selections allowed.");
$(this).removeAttr("selected");
}
});
var is = 0;
for (var i = 0; i < selectCountryCode.length; i++) {
if (selectCountryCode.options[i].selected) {
is++;
}
if (is > 3) {
selectCountryCode.options[i].selected = false;
}
}
const selectEls = document.querySelectorAll('select[multiple]');
selectEls.forEach((selectEl) => {
selectEl.addEventListener('change', (e) => {
const currentEl = e.currentTarget;
let is = 0;
for (let i = 0; i < currentEl.length; i++) {
if (currentEl.options[i].selected) {
is++;
}
if (is > 3) { // if you want more than 3 selected options, change the number here
currentEl.options[i].selected = false;
}
}
})
});
9条答案
按热度按时间eivnm1vs1#
这里有一些完整的代码供您使用...一定会喜欢谷歌 AJAX APIPlayground:-)
**编辑1:**注意:这只允许你选择5个,因为我不想复制/粘贴另外10个选项:-)
**一个
n3ipq98p2#
这将用户限制为3个选项:
小提琴:http://jsfiddle.net/2GrYk/
doinxwow3#
此答案适用于以下情况:
代码:
Demo
或者,对于不支持
selectedOptions
的旧浏览器,Demo
41ik7eoe4#
使用jQuery,你可以给change事件附加一个函数,因为它是一个多选,所以瓦尔()将是一个数组。你可以检查数组的长度,如果它是预定义的大小,你可以做一些事情。下面的代码演示了你如何知道有多少项被选中。
gblwokeq5#
tigured it out!下面是生成的代码:
谢谢你们的帮助!
kx1ctssn6#
我基本上合并了几个提供的答案,使一些特定的特定ID:
罗伯
2lpgd9687#
您可以使用jQuery
lndjwyie8#
瞧!不需要杰奎琳了。
吉鲁山
eit6fx6z9#
下面是一个基于jilu示例的纯JavaScript示例。