Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.03.2017, 16:45
Аспирант
Отправить личное сообщение для SaM1001 Посмотреть профиль Найти все сообщения от SaM1001
 
Регистрация: 09.02.2017
Сообщений: 30

Не пойму почему мой код не работает
Ребят, подскажите в какую сторону смотреть, не говорите сразу ответа или решение вопроса, хочу сам дойти. Я ведь только учусь.

Вот собственно код jQuery:
$(":checkbox").click(function (event) {
        if ($(this).is(":checked"))
            $("opt_" + i + "").show();
        else
            $("opt_" + i + "").hide();
    });


тут у меня чекбоксы, по клику на них должны закрываться и открываться
<input type="checkbox" class="checkbox" id="opt_0"/>
	<input type="checkbox" class="checkbox" id="opt_0"/>
	<input type="checkbox" class="checkbox" id="opt_0"/>


вот такие вот примерно объекты:

<div class="widget" id="opt_0"></div>
	<div class="widget" id="opt_1"></div>
	<div class="widget" id="opt_2"></div>


Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 03.03.2017, 16:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

SaM1001,
это что
Сообщение от SaM1001
+ i + "
?

Сообщение от SaM1001
$("opt_" + i + "")
и это?

Сообщение от SaM1001
id="opt_0"/
??? что такое id, читали?

Последний раз редактировалось рони, 03.03.2017 в 16:54.
Ответить с цитированием
  #3 (permalink)  
Старый 03.03.2017, 16:55
Аспирант
Отправить личное сообщение для SaM1001 Посмотреть профиль Найти все сообщения от SaM1001
 
Регистрация: 09.02.2017
Сообщений: 30

кажется уже тоже увидел... сорри

$("#opt_" + i + ' .checkbox')


Вот так наверное будет работать, сейчас попробую
Ответить с цитированием
  #4 (permalink)  
Старый 03.03.2017, 16:58
Аспирант
Отправить личное сообщение для SaM1001 Посмотреть профиль Найти все сообщения от SaM1001
 
Регистрация: 09.02.2017
Сообщений: 30

не, добавил переменную i

$(":checkbox").click(function (event) {
        var i = 0;
        if ($(this).is(":checked"))
            $("#opt_" + i + ' .checkbox').show();
        else
            $("#opt_" + i + ' .checkbox').hide();
    });


и тоже не получается


UPD

$("#opt_" + i)


исрпавил на вот так и тоже без результата(((


UPD 2

и вот так тоже не хочет работать

$("#opt").hide();
    $('input[type="checkbox"]').click(function () {
        $(this).next("#opt").show(this.checked);
    });


естественно opt_1, opt_2... исправил в .html тоже

Последний раз редактировалось SaM1001, 03.03.2017 в 17:29.
Ответить с цитированием
  #5 (permalink)  
Старый 03.03.2017, 17:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

SaM1001,
на форуме более 300 открывашка , посмотрите их код.
Ответить с цитированием
  #6 (permalink)  
Старый 03.03.2017, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

SaM1001,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
    .widget {
      display: none;
    }

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  var c = $(".checkbox"), d = $(".widget");
  c.on("click",function() {
  var i = c.index(this);
  d.eq(i).toggle()
})
});
  </script>
</head>

<body>

<input type="checkbox" class="checkbox" />
<input type="checkbox" class="checkbox" />
<input type="checkbox" class="checkbox" />

<div class="widget" >1</div>
<div class="widget" >2</div>
<div class="widget" >3</div>


</body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 03.03.2017, 18:02
Аспирант
Отправить личное сообщение для SaM1001 Посмотреть профиль Найти все сообщения от SaM1001
 
Регистрация: 09.02.2017
Сообщений: 30

Спасибо тебе дружище, уже в который раз выручаешь меня!!!

PS: Как тебе карму тут поправить, не могу плюсануть тебе, заставляют куму-нить другому сначала поставить отзыв?

Последний раз редактировалось SaM1001, 03.03.2017 в 18:09.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Почему в мозиле не работает jquery код? blazer-05 jQuery 20 27.02.2017 21:42
Не работает код внутри post Officeoff.ru Элементы интерфейса 10 27.01.2017 09:08
почему один вызов load работает, а другой - нет kravru jQuery 1 16.09.2013 20:51
код нe работает в фаирфохе dadli Javascript под браузер 2 28.01.2012 21:18
почему код не работает? zloctb Общие вопросы Javascript 5 11.01.2012 16:01