限制 bsmultiselect 中的选定选项

Limit selected option in bsmultiselect

我想阻止用户 select 超过 5 个选项,但我还没有找到解决方案。任何人都可以帮助我吗? 这是我的代码

student_html += '<select name="course_titles'+x+'[]" id="example" class="form-control mymultiple" multiple="multiple">';
student_html += strCourse;
student_html += '</select>';

可能有两种行为:

  1. 允许选择第 6 个但显示为无效

这里有两种不同的情况:bsmultiselect 是在 select 之上(并且结果会形成)还是在 JS 对象之上。

在第一种情况下使用“自定义 Html ValidationAPI”multiSelect.validationApi.setCustomValidity(...);

第二种情况使用“自定义Bootstrap验证”(传入配置{getValidity: fuction( return true; //or false ) }

  1. 不允许选择第 6 个

我在这种情况下通过配置传递 setSelected,如果要取消第 6 个元素选择,return false

{
  setSelected(){
    if (getSelectedCount(options) ==5) // write it getSelectedCount, just loop through your data or query bsMultiSelect.picksCount;
          return false;
  }
}