[英]how to print selected values from multiselect dropdown list using jquery?
[英]How to modify the onOptionClick function of a multiselect list from jQuery
我對 JQuery-multiselect 有疑問。 我創建了一個工作正常的多選列表。 我需要對其進行修改,以便用戶不能在列表中 select 超過 3 個選項。 我找不到執行此操作的語法,因此請您幫忙。
在這里我初始化我的列表:
jquery_objet_types_multiselect = jQuery('#id_...').multiselect({
columns: 1,
placeholder: 'Sélection ...',
search: true,
selectAll: true
});
這是我還不能做的部分:
jquery_objet_types_multiselect.multiselect('onOptionClick', function( element, option ) {
if( $(element).val().length > maxSelectTypeFlux ) {
if( $(option).is(':checked') ) {
var thisVals = $(element).val();
thisVals.splice(
thisVals.indexOf( $(option).val() ), 1
);
$(element).val( thisVals );
$(option).prop( 'checked', false ).closest('li')
.toggleClass('selected');
}
}
else if( $(element).val().length == maxSelectTypeFlux ) {
$(element).next('.ms-options-wrap')
.find('li:not(.selected)').addClass('disabled')
.find('input[type="checkbox"]')
.attr( 'disabled', 'disabled' );
}
else {
$(element).next('.ms-options-wrap')
.find('li.disabled').removeClass('disabled')
.find('input[type="checkbox"]')
.removeAttr( 'disabled' );
}
});
我在一開始就聲明了 jquery_objet_types_multiselect 和 maxSelectTypeFlux。
謝謝你的幫助!
在您的 function 的頂部按照這些思路放置一些東西(可能必須進行調整才能在您的情況下工作)可能會起作用。 這個想法是檢查是否已經選擇了 3 個選項(我的邏輯可能在星期五早上有點偏離,哈哈),如果已經選擇了 3 個選項,您希望不允許用戶添加另一個選項並退出function。
if ($('option').length == 3) {
$(element).preventDefault()
return;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.