Изображение
Примечание. Единицы перечислены в соответствии с выбранным типом единиц. Персонал перечисляется по единицам.
birimler = optgroup
personeller = option
каскадный выпадающий список
категория подкатегории
ajax с selectpicker (optgroup ve option) MVC?
enter code here
[HttpPost] public JsonResult Birimlist (int birimturuid)
{
List<birimler> birimList = db.birimler.Where(x => x.birimturu_ID == birimturuid).OrderBy(x => x.birim_adi).ToList();
List<SelectListItem> itemList = (from i in birimList
select new SelectListItem
{
Value = i.birim_ID.ToString(),
Text = i.birim_adi
}).ToList();
return Json(itemList, JsonRequestBehavior.AllowGet);
}
[HttpPost]
public JsonResult Personellist(int birimid)
{
List<personeller> personellList = db.personeller.Where(x => x.birim_id == birimid).OrderBy(x => x.personel_adi).ToList();
List<SelectListItem> itemList = (from i in personellList
select new SelectListItem
{
Value = i.personel_ID.ToString(),
Text = i.personel_adi
}).ToList();
return Json(itemList, JsonRequestBehavior.AllowGet);
}
<select class="form-control" id="birimturu">
<option value="-1">--Birim Türü Seçiniz--</option>
@foreach (birimturu Birimturu in ViewBag.brmturu)
{
<option value="@Birimturu.birimturu_ID">@Birimturu.birimturu_adi</option>
}
</select><br /> <label for="exampleFormControlSelect1">Birimler</label><br />
<select class="selectpicker" multiple data-live-search="true" data-live-search-placeholder="Search" data-actions-box="true" id="birimler">
</select> <br /> <br />
<script type="text/javascript">
function SelectDoldur(Selector, Liste, Baslik) {
var str = '<option value="" selected disabled>' + Baslik + '</option>';
$.each(Liste, function (key, value) {
str += '<option value="' + value.birim_ID + '" selected>' + value.birim_adi + '</option>';
});
$(Selector).empty();
$(Selector).append(str);
}
$(document).ready(function () {
$("#birimturu").change(function () {
var birimturuid = $(this).val();
$.ajax({
url: '/Home/Birimlist',
type: "POST",
dataType: "json",
data: { birimturuid: birimturuid },
success: function (data) {
SelectDoldur(".birimler", data)
}
});
});
});
</script>