私はenableCollapsibleOptGroups: true でBootstrap Multiselectを使用しています。これにより、optgroup ヘッダーのチェックボックスがクリックされたときに、optgroups 内のすべてのオプションを切り替えることができます。場合によっては、オプションを事前に選択する必要があります。これは、optgroup 内のすべてのオプションが選択されていることを意味します。ただし、この場合、optgroup ヘッダーのチェックボックスをオンにする方法がわかりません。選択した optgroup 内のすべてのオプションを取得できますが、optgroup ヘッダーのチェックボックスは取得できません。これにより、ユーザーはそれを 2 回クリックして、その optgoup のすべてのオプションを選択解除する必要があります。非表示のフィールドで、どの optgroup がすべてのオプションを選択しているかを示すことができましたが、optgroup ヘッダーのチェックボックスを実際にチェックする方法がわかりませんでした。助言がありますか?
$("select[id$='ddlLocation']").multiselect({
enableCollapsibleOptGroups: true,
includeSelectAllOption: true,
maxHeight: 200,
onDropdownHide: function (event) {
$("select[id$='ddlLocation']").multiselect("updateButtonText");
$("select[id$='ddlLocation']").multiselect("updateSelectAll");
var arrLocations = [];
var locations = $("#ddlLocation option:selected");
$(locations).each(function(index, location){
arrLocations.push([$(this).val()]);
});
if (arrLocations.length > 0) {
$("input[id$='hdfLocationIds']").val(arrLocations);
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm._doPostBack("btnParticipantLookup", 'getUserCnt');
}
}
});
var locationIds = $("input[id$='hdfLocationIds']").val();
if (locationIds.length > 0)
{
$("select[id$='ddlLocation']").multiselect("select", locationIds.split(","));
}