& lt; select>举个例子,最大限制选择5个
<select> max limit pick for example 5 of them
我想添加选项限制…就像有5个选择。"您只能选择其中任意5个"
其像:
<select>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
例如,当你选择"5"时,其他选项将被禁用…
您需要在select
元素上设置multiple
属性,以便选择多个
使用JavaScript,你可以设置一个onChange
处理程序来禁用元素(或防止额外的选择),当你有5选择。
<select multiple data-maxoption="5">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
</select>
JS
var verified = [];
document.querySelector('select').onchange = function(e) {
if (this.querySelectorAll('option:checked').length <= this.dataset.maxoption) {
verified = Array.apply(null, this.querySelectorAll('option:checked'));
} else {
Array.apply(null, this.querySelectorAll('option')).forEach(function(e) {
e.selected = verified.indexOf(e) > -1;
});
}
}
编辑:也看到你有jQuery
标记,所以,jQuery
版本:
var verified = $();
$('select').change(function() {
var $current = $('option:checked');
if ($current.length <= $(this).data('maxoption')) {
$verified = $current;
} else {
$(this).find('option').prop('selected', false);
$verified.prop('selected', true);
}
});
试试这个:
<select multiple>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
</select>
$('select').click(function(e)
{
var itemSelected = 0;
$('option:selected').each(function()
{
itemSelected++;
});
if(itemSelected > 5)
{
$('option:selected').eq(5).prop("selected",false);
alert("You can only select 5 options");
}
});
小提琴:http://jsfiddle.net/9tvmac08/
相关文章:
- jquery IE7中的第n个选择器
- 如何将返回的值应用于多个不同位置的多个选择器
- Jquery不允许来自多个选择列表的相同值
- jquery获取多个选择框的值作为数组
- 从多个选择框获取多个数据'
- 只选择两个选择器中的一个
- 如何制作一个具有多个选择器的jQuery插件,在每个选择器上分别进行匹配
- 禁用多个选择元素中的非“选定”选项,但使用 jquery 的一个除外
- 使用 jQuery(移动)更新多个选择标签
- 多个选择框聚焦第一个选择框
- 多个<选择>使用选择,选项删除(已选择)
- 创建唯一选项,然后使用 JavaScript 填充多个选择
- 更改多个选择选项后的jQuery触发器事件
- 使用 onChange 清除多个选择和复选框
- jquery自动更新两个选择字段
- 选择2个选择标签后启用按钮
- jQuery验证插件-比较两个选择下拉列表的自定义方法
- jQuery结合了多个选择器
- 如何使用replaceWith()一次替换多个选择器
- jQuery显示/隐藏仅适用于第一个选择器