Get value of multiselect box using jQuery or pure JS

前端 未结 6 1242
傲寒
傲寒 2020-12-03 02:11

In the code shown below, how to get the values of multiselect box in function val() using jQuery or pure JavaScript?



        
相关标签:
6条回答
  • 2020-12-03 02:49

    This got me the value and text of the selected options for the jQuery multiselect.js plugin:

    $("#selectBox").multiSelect({
        afterSelect: function(){
            var selections = [];
            $("#selectBox option:selected").each(function(){
                var optionValue = $(this).val();
                var optionText = $(this).text();
                console.log("optionText",optionText);                
                // collect all values
                selections.push(optionValue);
            });
    
            // use array "selections" here.. 
        }
    });   
    

    very usefull if you need it for your "onChange" event ;)

    0 讨论(0)
  • 2020-12-03 02:58

    You could do like this too.

    <form action="ResultsDulith.php" id="intermediate" name="inputMachine[]" multiple="multiple" method="post">
        <select id="selectDuration" name="selectDuration[]" multiple="multiple"> 
            <option value="1 WEEK" >Last 1 Week</option>
            <option value="2 WEEK" >Last 2 Week </option>
            <option value="3 WEEK" >Last 3 Week</option>
             <option value="4 WEEK" >Last 4 Week</option>
              <option value="5 WEEK" >Last 5 Week</option>
               <option value="6 WEEK" >Last 6 Week</option>
        </select>
         <input type="submit"/> 
    </form>
    

    Then take the multiple selection from following PHP code below. It print the selected multiple values accordingly.

    $shift=$_POST['selectDuration'];
    
    print_r($shift);
    
    0 讨论(0)
  • 2020-12-03 03:05

    I think the answer may be easier to understand like this:

    $('#empid').on('change',function() {
      alert($(this).val());
      console.log($(this).val());
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.0/jquery.min.js"></script>
    <select id="empid" name="empname" multiple="multiple">
      <option value="0">Potato</option>
      <option value="1">Carrot</option>
      <option value="2">Apple</option>
      <option value="3">Raisins</option>
      <option value="4">Peanut</option>
    </select>
    <br />
    Hold CTRL / CMD for selecting multiple fields

    If you select "Carrot" and "Raisins" in the list, the output will be "1,3".

    0 讨论(0)
  • 2020-12-03 03:09

    According to the widget's page, it should be:

    var myDropDownListValues = $("#myDropDownList").multiselect("getChecked").map(function()
    {
        return this.value;    
    }).get();
    

    It works for me :)

    0 讨论(0)
  • 2020-12-03 03:11
    var data=[];
    var $el=$("#my-select");
    $el.find('option:selected').each(function(){
        data.push({value:$(this).val(),text:$(this).text()});
    });
    console.log(data)
    
    0 讨论(0)
  • 2020-12-03 03:12

    the val function called from the select will return an array if its a multiple. $('select#my_multiselect').val() will return an array of the values for the selected options - you dont need to loop through and get them yourself.

    0 讨论(0)
提交回复
热议问题