jQuery 已选择返回无效的所选数据

jQuery chosen returning invalid selected data

我在我的代码中选择了 select 框

<select id="days" multiple>
     <option value="1" selected>Mon</option>
     <option value="2" selected>Tue</option>
     <option value="3" selected>Wed</option>
     <option value="4" selected>Thu</option>
     <option value="5">Fri</option>
     <option value="6">Sat</option>
     <option value="7">Sun</option>
</select>

现在,我需要使用 javascript 获取所有 selected 值并将它们发送到 php 处理器。我试过

var dani = $('#days').val();

var dani = $('#days').chosen().val();

但奇怪的是,只有第一次我得到用逗号分隔的正确值,每隔一次它 returns 完整数组 (1,2,3,4,5,6,7)

有更精确的方法吗?

还必须说,select框在bootstrap模态window。

试试这个:

$(document).ready(function(){

    $("#days option:selected").each(function(){

        alert ($(this).val());
    })
})

<html>
    <title>This is test</title>
    
    <head>
    </head>
    <body>
        
        <select id="days" multiple>
         <option value="1" selected>Mon</option>
         <option value="2" selected>Tue</option>
         <option value="3" selected>Wed</option>
         <option value="4" selected>Thu</option>
         <option value="5">Fri</option>
         <option value="6">Sat</option>
         <option value="7">Sun</option>
    </select>
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script>
            
        $(document).ready(function(){

            $("#days option:selected").each(function(){

                alert ($(this).val());
            })
        })
        </script>
    </body>
</html>

如果想在一个警报中显示所有选定值:

<html>
    <title>This is test</title>
    
    <head>
    </head>
    <body>
        
        <select id="days" multiple>
         <option value="1" selected>Mon</option>
         <option value="2" selected>Tue</option>
         <option value="3" selected>Wed</option>
         <option value="4" selected>Thu</option>
         <option value="5">Fri</option>
         <option value="6">Sat</option>
         <option value="7">Sun</option>
    </select>
        
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
        <script>
            
        $(document).ready(function(){
            
            var values = "You Selected Values : ";
            var num = "";

            $("#days option:selected").each(function(){
        
                num +=$(this).val() +" ";
                
                
            })
            
            alert(values + num);
        })
        </script>
    </body>
</html>