我使用Bootstrap Multiselect來顯示年份列表,其中所選年份的最大數量可以是4。如果選擇4年,則禁用所有未選定的年份;如果一年中沒有選中計數3,則再次啓用所有年份。Bootstrap Multiselect插件並在更改事件中禁用/啓用複選框
(最新提交關於該插件的項目是增加的啓用/禁用功能,但我不認爲這是個人的選擇元素 - https://github.com/davidstutz/bootstrap-multiselect/issues/171)
我的HTML:
<select id="slYears" class="multiselect" multiple="multiple">
<option value="1" disabled="disabled">2009</option>
<option value="2" selected="selected">2010</option>
<option value="3" selected="selected">2011</option>
<option value="4" selected="selected">2012</option>
<option value="5" selected="selected">2013</option>
</select>
我的JavaScript (第一次嘗試):
$('#slYears').change(function() {
var arr = $(this).val().toString().split(',');
if (arr.length >= 4) {
$('#slYears option').each(function() {
if (!$(this).is(':selected')) {
$(this).prop('disabled', true);
}
});
}
else {
$('#slYears option').each(function() {
$(this).prop('disabled', false);
});
}
});
然後我嘗試使用一些插件的方法和示例。我嘗試使用「全部選擇」示例來啓用所有,我嘗試使用'onchange'事件,但沒有任何作用。
這裏是的jsfiddle:http://jsfiddle.net/389Af/1/(注意我粘貼上面的JS之前的插件JS)
非常好,非常感謝那 – user982119