2016-08-31 1 views
1

Я выбрал поле выбора в моем кодеJQuery выбрал возвращение недействителен выбранные данные

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

Теперь, мне нужно, чтобы получить все выбранные значения с яваскрипт и отправить их в процессор PHP. Я попытался с

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

и

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

Но самое странное, что только первый раз, когда я получить правильные значения через запятую, каждый раз возвращает полный массив (1,2, 3,4,5,6,7)

Есть ли более точный способ сделать это?

Также должен сказать, что поле выбора находится в модальном окне загрузки.

+1

Попробуйте заменить '# dani'' # days' –

+0

Если это не проблема с идентификатором ... работает для меня https://jsfiddle.net/tL6jq62y/ – DaniP

+0

Не проблема с идентификатором, ошибка при написании вопроса. .. – skymario84

ответ

0

Попробуйте это:

$(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>

+0

Спасибо m8, ваше решение работает, но так же, как и в предыдущих примерах, которые я пытался, а иногда значения правильные, но часто возвращает все значения – skymario84

 Смежные вопросы

  • Нет связанных вопросов^_^