2014-11-24 3 views
-1

У меня есть 1 до n выбрать коробки (возможно, 5 или более). Я пытаюсь зациклить поле выбора с помощью jQuery, но я не понимаю, как это сделать. Проверьте поле выбора. Мне нужны только выбранные значения в jQuery. Могу ли я хранить каждое значение в массиве и передавать через AJAX?чтение select box jquery issues

<select name="myselect[]"> 
    <option value='1'>first</option> 
</select> 

<select name="myselect[]"> 
    <option value='2'>second</option> 
</select> 

<select name="myselect[]"> 
    <option value='3'>third</option> 
</select> 

<select> 
    ------ 
</select> 

Мой код

$('select[name=myselect]').each(function(){ 
     var val+= ($(this).val()); 
     }); 
+2

Где ваш JavaScript/JQuery? Это просто html – stackErr

+0

Я отправлю код – aniltc

ответ

0

Что-то вроде этого:

var array = []; 

$("select").each(function() { 
    if($(this).val() != undefined && $(this).val() != "") 
    { 
     array.push($(this).val()); 
    } 

}); 

Это сохранит все выбранные значения в массиве. Надеюсь, вы поняли эту идею.

+0

Могу ли я использовать $ ('select [name = myselect]'). Each (function() {... – aniltc

+0

Имя вашего выбора - 'myselect []' not 'myselect' Вы должны использовать '[]'. Вы можете использовать '$ (" select [name = myselect \\ [\\]] "). Each (function() {' – MIvanIsten

+0

no Это не работает – aniltc

0

Что вы хотите сделать, не будет работать с вашим текущим кодом. Значение select по умолчанию будет иметь единственный параметр, присутствующий внутри него. Первое значение select всегда будет «первым», независимо от того, что делает пользователь.

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

<select name="myselect[]"> 
    <option class='noValue'></option> 
    <option id='2'>second</option> 
</select> 

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

0
$('select[name*=myselect]').each(function() { 
    var val = $(this).val(); 
     console.log(val); 
    }); 

Try выше кода это будет 100% работа