Показать сообщение отдельно
  #1 (permalink)  
Старый 22.09.2017, 01:01
Интересующийся
Отправить личное сообщение для vano_mig Посмотреть профиль Найти все сообщения от vano_mig
 
Регистрация: 20.09.2017
Сообщений: 10

Область видимости переменной
Всем привет, есть код с разными типами чекбоксов. Для одноого типа все работает ок. Но когда добавляю остальные в мой массив не записываються значения инпутов. Подскажите где обибка...
<div class="filterWrap isOpened">
					<div class="filterHead">Мастер</div>
					<ul class="filterBody autor">
						<li>
							<input type="checkbox" class="checkbox filter1" name="autor[]" value="1" id="filter_ch_1">
							<label for="filter_ch_1">Рейпольский А.Д.</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="autor[]" value="3" id="filter_ch_2">
							<label for="filter_ch_2">Митков Павел</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="autor[]" value="2" id="filter_ch_3">
							<label for="filter_ch_3">Рудаева Е.Л.</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="autor[]" value="4" id="filter_ch_4">
							<label for="filter_ch_4">Уркинеев Д.Л.</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="autor[]" value="5" id="filter_ch_5">
							<label for="filter_ch_5">Гусев Валерий</label>
						</li>
					</ul>
				</div>
				<div class="filterWrap isOpened">
					<div class="filterHead">Категория</div>
					<ul class="filterBody">
						<li>
							<input type="checkbox" class="checkbox filter1" name="category[]" value="1" id="filter_cc_1">
							<label for="filter_cc_1">Живопись</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="category[]" value="2" id="filter_cc_2">
							<label for="filter_cc_2">Графика</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="category[]" value="3" id="filter_cc_3">
							<label for="filter_cc_3">Изделия</label>
						</li>
					</ul>
				</div>
				<div class="filterWrap isOpened">
					<div class="filterHead">Техника</div>
					<ul class="filterBody">
						<li>
							<input type="checkbox" class="checkbox filter1" name="style[]" value="1" id="filter_ct_1">
							<label for="filter_ct_1">Карандаш</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="style[]" value="2" id="filter_ct_2">
							<label for="filter_ct_2">Акрил</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="style[]" value="3" id="filter_ct_3">
							<label for="filter_ct_3">Акварель</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="style[]" value="4" id="filter_ct_4">
							<label for="filter_ct_4">Масло</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox filter1" name="style[]" value="5" id="filter_ct_5">
							<label for="filter_ct_5">Тушь</label>
						</li>
						<li>
							<input type="checkbox" class="checkbox" name="style[]" value="6" id="filter_ct_6">
							<label for="filter_ct_6">Каменая живопись</label>
						</li>
					</ul>
				</div>

$('.filter1').on('click', function()
	{
		var arr = [];
		var cat = [];
		var style = [];
		if ($('.autor input[type=checkbox]').on('change'))
		{
			$('.autor input[type=checkbox]').on('change', function()
			{
				$('input[name="autor[]"]:checked').each(function() {
					arr.push($(this).val());
				})
			})
			console.log(arr)
		}
		else if ($('.category input[type=checkbox]').on('change'))
		{
			$('.category input[type=checkbox]').on('change', function()
			{
				$('input[name="category[]"]:checked').each(function() {
					cat.push($(this).val());
				})
			})
		}
		else if ($('.style input[type=checkbox]').on('change'))
		{
			$('.style input[type=checkbox]').on('change', function()
			{
				$('input[name="style[]"]:checked').each(function() {
					style.push($(this).val());
				})
			})
		}
		if (arr.lenght == 0)
		{
			arr.push(val('none'));
		}
		if (cat.lenght == 0)
		{
			cat.push('none');
		}
		if (style.lenght == 0)
		{
			style.push(0);
		}
		
				$.ajax({
		 			url: '/filter',
		 			data: {arr: arr, cat: cat, style: style},
		 			type: 'GET',
		 			success: function(filter) {

		 				var responce = jQuery.parseJSON(filter);
		 				if (responce != "") {
		 					console.log(filter);
			 			 	$('.category_item').css('display', 'none');
			 			 	$('.category_items').append(responce.prod);
			 			} 
		 			},
		 			error: function() {
		 				alert("Ошибка подключения!");
		 			}
				})
	});
Ответить с цитированием