Bootstrap Selectpicker не работает при изменении выпадающего списка в ASP.NET MVC с использованием C # - PullRequest
0 голосов
/ 11 ноября 2019

Я использую Bootstrap selectpicker для mutiselect, он работает нормально. Но если мы заполним этот ListBox классом selectpicker, тогда данные списка не обновляются (обновляются) при изменении выпадающего списка.

Пожалуйста, кто-нибудь может предложить какую-то идею или решение, как мы можем это сделать? Пожалуйста, проверьте мой код ниже.

DropDown List (LEVEL1LST)

<select class="form-control" id="LEVEL1LST" name="SelectedLEVEL1">
    <option value="1">Customer</option>
    <option value="2">Employee</option>
    <option value="3">3rd Party/Vendors</option>
    <option value="4">Asset-Facility</option>
    <option value="5">Others</option>
</select>


<div class="input-group" style="border: 1px solid #cccccc; border-radius: 4px;">
    <select class="selectpicker" id="LEVEL2LST" multiple="multiple" name="SelectedLEVEL2"> 
        <option value="3">Parking</option>
        <option value="4">Billing</option>
        <option value="8">Carry Bag</option>
        <option value="9">Safety</option>
        <option value="10">Accident</option>
        <option value="11">Expiry stock</option>
        <option value="12">Theft</option>
        <option value="13">Behaviour</option>
        <option value="14">Lost &amp; Found</option>
        <option value="16">Quality </option>
        <option value="17">Hygiene</option>
        <option value="19">Quarrel</option>
        <option value="20">Theft</option>
        <option value="21">Cash Short</option>
        <option value="22">Behaviour</option>
        <option value="23">Integrity</option>
        <option value="24">Sick</option>
        <option value="25">Accident</option>
        <option value="26">Family issue</option>
        <option value="27">Service</option>
        <option value="29">Behaviour</option>
        <option value="30">Integrity</option>
        <option value="31">Floor Damage</option>
         <option value="32">Leakage</option>
         <option value="33">Seepage</option>
         <option value="34">Electical</option>
         <option value="36">IT</option>
         <option value="37">Land Lord</option>
         <option value="38">Fire</option>
         <option value="39">Cyclone</option>
         <option value="40">Fixture broken</option>
         <option value="41">Unions</option>
         <option value="42">Demands</option>
         <option value="44">Legal</option>
         <option value="45">Political</option>
         <option value="46">Festival Donations</option>
    </select>
</div>

List Box (LEVEL2LST) bind При изменении выпадающего списка

Теперь я хочу привязать обновленные данные кэто поле списка, основанное на значении DropDownlist

Jquery-код для использования silectpicker

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

<script src="/Content/js/bootstrap-select.js"></script>
<link href="/Content/css/bootstrap-select.css" rel="stylesheet" />

<script type="text/javascript">

    $(window).on('load', function () {

        $('#LEVEL2LST').selectpicker({
            'selectedText': 'cat'
        });     
    });
</script>



Code for Fetch the data from mvc C# controller and bind listbox based on dropdownchange event

<script type="text/javascript">

    $(document).ready(function () {

        var rootUrl = "http://localhost:57719/";

        $('#LEVEL1LST').change(function () {

            var ID = $('#LEVEL1LST').val();

            $('#LEVEL2LST').empty();

            $.getJSON(rootUrl + 'User/GetLEVEL2List/' + ID, function (data) {
                //var items = '<option>Select a SubCategory</option>';
                var items = '';
                $.each(data, function (i, LEVEL2) {
                    items += "<option value='" + LEVEL2.Value + "'>" + LEVEL2.Text + "</option>";
                });
                $('#LEVEL2LST').html(items);
            });
        });

       
    });

</script>

Код контроллера C #

 public List<LEVEL1_MODEL> GetLevel1Lst()
    {
        objBindDDLBAL = new BindDropDownBAL();
        List<LEVEL1_MODEL> objLVL1lst = new List<LEVEL1_MODEL>();
        List<LEVEL1_ENT> objLVL1ENT = objBindDDLBAL.GetLevel1ListBAL(1);
        foreach (var lvl1 in objLVL1ENT)
        {
            LEVEL1_MODEL objlvl1 = new LEVEL1_MODEL();
            objlvl1.L1_ID = lvl1.L1_ID;
            objlvl1.L1_NAME = lvl1.L1_NAME;
            objLVL1lst.Add(objlvl1);
        }

        return objLVL1lst;
    }

данные таблицы для справки

dbo.TBL_LEVEL1 :

L1_ID   L1_NAME       STATUS
------------------------------
3   3rd Party/Vendors   O
4   Asset-Facility      O
1   Customer            O
2   Employee            O
5   Others              O

dbo.TBL_LEVEL2 :

L1_ID   L2_ID   L2_NAME STATUS
-------------------------------
1   10  Accident        O
1   13  Behaviour       O
1   4   Billing         O
1   8   Carry Bag       O
1   11  Expiry stock    O
1   17  Hygiene         O
1   14  Lost & Found    O
1   3   Parking         O
1   16  Quality         O
1   9   Safety          O
1   12  Theft           O
2   25  Accident        O
2   22  Behaviour       O
2   21  Cash Short      O
2   26  Family issue    O
2   23  Integrity       O
2   19  Quarrel         O
2   24  Sick            O
2   20  Theft           O
3   29  Behaviour       O
3   30  Integrity       O
3   27  Service         O
4   39  Cyclone         O
4   34  Electical       O
4   38  Fire            O
4   40  Fixture broken  O
4   31  Floor Damage    O
4   36  IT              O
4   37  Land Lord       O
4   32  Leakage         O
4   33  Seepage         O
5   42  Demands         O
5   46  Festival Donations  O
5   44  Legal           O
5   45  Political       O
5   41  Unions          O
...