bootstrap-multiselect выбирает optgroup по умолчанию, если у группы нет опций - PullRequest
0 голосов
/ 28 сентября 2018

Я использую bootstrap-multiselect - https://github.com/davidstutz/bootstrap-multiselect.У меня проблема, когда у меня есть optgroup, у которой нет опций (ребенок).Затем эти группы выбираются по умолчанию в multiselect-container, а не в select group.Попытка удалить «активный» класс из всех <li> элементов, которые не работают.Любая помощь ?

@foreach (var item in Model)
{
    if (item.Parent == null)
    {
        <optgroup label="@item.Name" value="@item.Id" id="@item.Id"></optgroup>                        
    }
    else
    {
        <option value="@item.Id" id="@item.Id" class="indent-subProject" data-parent="@item.Parent">@item.Name</option>
    }
}

в моем сценарии:

$('#projects').multiselect({
    includeSelectAllOption: true,
    enableClickableOptGroups: true
});

//hide all projects
$('.multiselect-container > li').find('input').each(function () {                       
    $(this).parents().eq(2).addClass("disabled");
    $(this).parents().eq(2).removeClass("active");
});

//show only assigned projects
$('.multiselect-container > li').find('input').each(function () {
    for (i = 0; i < listOfAssignedProjects.length; i++) {
        if ($(this).val() == listOfAssignedProjects[i]) {
            $(this).parents().eq(2).css("display", "block");
            $(this).parents().eq(2).removeClass("disabled");
            $(this).prop("disabled", false);

            $(this).parents().eq(2).removeClass("active");     
        }
    }
});
...