@Gabe_B

Как создать несколько массивов в jquery?

Добрый вечер! Есть несколько групп checkbox находящихся в div с разными классами.
Подскажите, как создать и разделить массивы с параметрами в зависимости от класса?
Например:
<div class="first">
	<input value="25" type="checkbox" checked>
	<input value="50" type="checkbox" checked>
	<input value="100" type="checkbox">
	<input value="150" type="checkbox">
</div>
<div class="second">
	<input value="25" type="checkbox">
	<input value="50" type="checkbox">
	<input value="100" type="checkbox" checked>
	<input value="150" type="checkbox" checked>
</div>


Должно быть в таком виде:
first: 25, 50
second: 100, 150
  • Вопрос задан
  • 233 просмотра
Решения вопроса 1
@Mr_Epic
Web программист
Вот пример: https://jsfiddle.net/0tjkc04s/3/
<div id="parent">
  <div class="first">
    <input value="25" type="checkbox" checked>
    <input value="50" type="checkbox" checked>
    <input value="100" type="checkbox">
    <input value="150" type="checkbox">
  </div>
  <div class="second">
    <input value="25" type="checkbox">
    <input value="50" type="checkbox">
    <input value="100" type="checkbox" checked>
    <input value="150" type="checkbox" checked>
  </div>
</div>

№1 Массив
var list = {};
$('#parent>div').each(function(ii,div){
	list[$(div).attr('class')] = $.map($(div).find('input'),function(el){
  	if($(el).is(':checked')) return parseInt($(el).val());
  });
});
console.log(list);

{
  first: [25,50],
  second: [100,150]
}


№2 Текст
var list = '';
$('#parent>div').each(function(ii,div){
  list += $(div).attr('class')+': '; 
	list += $.map($(div).find('input'),function(el){
  	if($(el).is(':checked')) return parseInt($(el).val());
  }).join(', ')+'; ';
});
alert(list);

first: 25, 50; second: 100, 150;
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы