Search code examples
javascriptjquerybootstrap-multiselect

Pass variable to multiSelect value


$.ajax({
  type:'POST',
  data:({value:10}),
  url:'count.php',
  success:function(data){
   var data=jQuery.parseJSON(data);
   console.log(data);
   if(data.status==true){
      var table=data.data.row;
      var staffs=data.staff.STAFF;
      var users=staffs.join();
      var user = '\'' + users.split(',').join('\',\'') + '\'';
      $("#my_multi_select2").multiSelect('select', [user]);
      //$("#my_multi_select2").multiSelect('select',['3','4']);
     }
   }
 })

my user value is '3','4','5','6' How could i pass this as a variable to multiselect selected value please please help me.....


Solution

  • You just need to make the pass the values to the multiselect as an array:

    jQuery(document).ready(function($){
        var users = '3,4,5,6';
        var userarray = users.split(',');
    
        $("#my_multi_select2").val( userarray );
    
        console.log( userarray );
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <select id="my_multi_select2" multiple>
        <option value="1">User 1</option>
        <option value="2">User 2</option>
        <option value="3">User 3</option>
        <option value="4">User 4</option>
        <option value="5">User 5</option>
        <option value="6">User 6</option>
        <option value="7">User 7</option>
        <option value="8">User 8</option>
    </select>

    Per your example:

    $.ajax({
        type: 'POST',
        data: ({value:10}),
        url: 'count.php',
        success: function(data){
            var data = jQuery.parseJSON(data);
            console.log(data);
            if( data.status == true ){
                var table   = data.data.row;
                var staffs  = data.staff.STAFF;  //staffs  = [["3"],["2"],["4"],["5"]]
                var users   = staffs.join();     //users   = "3,2,4,5"
                var userArr = users.split(',');  //userArr = ["3", "2", "4", "5"]
                $("#my_multi_select2").val(userArr);
            }
        }
    });