定义从下拉列表选择html中选择的选项数

时间:2014-04-30 15:59:09

标签: html drop-down-menu dropdownchoice

有没有办法限制用户可以在多选html字段中选择的选项数量,如下所示?

<select multiple id="color" name="color" size=5>
<option>- Choose one -</option>
<option value="blu">Blue</option>
<option value="yel">Yellow</option>
<option value="bla">Black</option>
<option value="ora">Orange</option>
</select>

假设我想“强制”用户选择四个选项中的两个。我该怎么做?

3 个答案:

答案 0 :(得分:1)

可能重复? HTML Multiselect Limit

如果您想要选择多个选项,则需要一个数组来处理结果,因此将名称更改为颜色[]

<select multiple id="color" name="color[]" size=5>
<option>- Choose one -</option>
<option value="blu">Blue</option>
<option value="yel">Yellow</option>
<option value="bla">Black</option>
<option value="ora">Orange</option>
</select>

然而,对于你真正的问题,我目前没有进一步的信息

修改

答案来自:HTML Multiselect Limit 是:

  

您可以使用jQuery

$("select").change(function () {
      if($("select option:selected").length > 3) {
          //your code here
      }
  });

由提交者:无限

提交

答案 1 :(得分:1)

如果有多个人想要取消选择额外的一个,或者当你已经选择了2个时做了你需要的任何事情(比如禁用它),请计算他们

小提琴:http://jsfiddle.net/6kMWu/

$('#color > option').on('click', function (e) {
    var selected = ($('#color > option:selected').length);
    console.log(e.target);
    if(selected > 2)
    {
        $(e.target).removeAttr('selected');
        return false;
        e.preventDefault();
    }
});

答案 2 :(得分:1)

这可以通过jQuery轻松实现:

// Your jQuery which will limit the max selected to 2
$( document ).ready(function() {
    $(".color option").click(function(e){
        if ($(this).parent().val().length > 2) {
            $(this).removeAttr("selected");
        }
    });
});

<!-- Your HTML //-->
<select multiple id="color" name="color[]" class="color" size="5">
    <option>- Choose one -</option>
    <option value="blu">Blue</option>
    <option value="yel">Yellow</option>
    <option value="bla">Black</option>
    <option value="ora">Orange</option>
</select>