McFree
@McFree
JS, TS, C#

Почему выбирает следующим элементом в массиве первый input хотя их три?

При смене автивного чекбокса всегда ставит первый из массива

Код JS :
$(document).ready(function(){
	$inputs = $('.sliderA').find('input');
    setInterval(function(){
       	$next = $inputs.filter(":checked").next('input');
    	if ($next.length) $next.prop('checked', true);
    	else $inputs.first().prop('checked', true);
    }, 3000);
});


Код PHP:
<div class="sliderA">
			<?php
				$images = array();
				$images = explode("\n", $soft->image);
				for ($i = 0; $i < count($images); $i++) {
					$str = "<input type=\"radio\" name=\"slider1\" id=\"slider1_".$i."\"  class=\"slide\"";
					if ($i == 0) $str .= "checked=\"checked\">";
					else $str .= ">";
					$str .= "<label for=\"slider1_".$i."\"></label>";
					$str .= "<div>";
					$str .= "<img src=\"".$images[$i]."\" width=\"100%\" height=\"100%\">";
					$str .= "</div>";
					echo $str;
				}
			?>
			</div>
<script src="../JS/autoSlide.js"></script>
  • Вопрос задан
  • 161 просмотр
Решения вопроса 1
lunpully
@lunpully
Здравствуйте.
У вас после input идут label и div. Естественно интерпретатор не находит следующего тега input. И поэтому действует по установленному условию. Тут надо использовать .nextAll()
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы