Seena
Seena

Reputation: 29

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.....

Upvotes: 0

Views: 2132

Answers (2)

Xhynk
Xhynk

Reputation: 13890

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);
        }
    }
});

Upvotes: 2

Sharon
Sharon

Reputation: 113

Well answered by Xhynk. but still sharing what i tried.

<html>
<head>
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>
 <script>
function selectme(){
  $('#public-methods').val(['elem_1', 'elem_2']);
};

</script>
</head>
<body>

<a href='#' id='selectme' onClick="selectme()">select elems</a>

<select id='public-methods' multiple='multiple'>
  <option value='elem_1'>elem 1</option>
  <option value='elem_2'>elem 2</option>
  <option value='elem_3'>elem 3</option>
  <option value='elem_4'>elem 4</option>
  <option value='elem_5'>elem 5</option>
</select>
</body>
</html>

Upvotes: 0

Related Questions