Search code examples
javascriptjquerybootstrap-4bootstrap-selectpicker

How can I get selected values from Bootstrap multiple selectpicker?


Here is my select element and it has multiple attribute;

<select id="dd-personnels" onchange="personnelChange()" asp-items="Model.Personnels" multiple data-max-options="1" class="form-control form-control-sm selectpicker"></select>

Here is my code to initialize a selectpicker from select above;

$('.selectpicker').selectpicker({ liveSearch: true });

How can I get selected values in the onchange of the select?


Solution

  • Even if inline event handler is a bad practice you need to add two keywords to your inline:

    <select id="dd-personnels" onchange="personnelChange(this, event)" ....
    

    Now your function is:

    function personnelChange(ele, event) {
       var val = $(ele).selectpicker('val');
       console.log(val);
    }
    

    For details you can take a look to the documentation

    The snippet:

    function personnelChange(ele, event) {
        var val = $(ele).selectpicker('val');
        console.log(val);
    }
    
     $('#dd-personnels').selectpicker({
        liveSearch: true
    });
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>0
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/css/bootstrap-select.min.css">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap-select@1.13.14/dist/js/bootstrap-select.min.js"></script>
    
    <select id="dd-personnels" onchange="personnelChange(this, event)" asp-items="Model.Personnels" multiple data-max-options="1" class="form-control form-control-sm selectpicker">
        <option>Mustard</option>
        <option>Ketchup</option>
        <option>Barbecue</option>
    </select>