С Новым годом! Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/27: Рейтинг темы: голосов - 27, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44

Скрыть показать определенный див

18.11.2014, 15:12. Показов 5356. Ответов 17
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго дня ! Есть несколько блоков на странице ( по типу бланков заявок) под которыми находиться ссылка СКРЫТЬ\ПОКАЗАТЬ при нажатии на которую должны появляться комментарии только для этого блока.

Собственно сама ссылка

PHP
1
echo '<a href="#"  onclick="hideShowDiv('.$blank_id.');"><h5>Показать\Скрыть комментарии</h5></a>';
где $blank_id уникальный ид каждого блока. Собственно этой ссылкой передаю ид в jQuery функцию, а как дальше обработать не могу сообразить.

jQuery

JavaScript
1
2
3
function hideShowDiv(id){
    $('.comments_form').slideToggle(1000);
}
В этом коде принимаю ид. А что сделать с ид чтобы открывал форму комментарием именно к определеному блоку не могу понять( Если делаю без ИДшников то при на жатии на СКРЫТЬ\ПОКАЗАТЬ появляются ВСЕ формы комментариев для всех блоков.

Подскажите пожалуйста.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.11.2014, 15:12
Ответы с готовыми решениями:

Как скрыть элемент див при клике на другой див?
Есть див с id и у див есть фон с картинкой, мне надо, чтобы при клике на него скрывался другой элемент с дивом и так же с фоном. Как...

Показать див по клику
&lt;a href=&quot;&quot; id=&quot;login&quot; &gt;Click Me&lt;/a&gt; &lt;div style=&quot;text-align:center; display: none&quot; id=&quot;divlogin&quot;&gt; &lt;form method=&quot;POST&quot;...

Скрыть див от вк комментов
Почему не скрывается блок с комментами через JS?$(&quot;#page_wrap&quot;).css({'display':'none'});

17
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
18.11.2014, 15:19
В принципе всё просто...

HTML
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<div>
    <a href="#comments_01" class="show_comments_action"> Показать\Скрыть комментарии </a>
    <div id="comments_01" class="none">
        comments_01
        <br/>comments_01
        <br/>comments_01
        <br/>comments_01
    </div>
</div>
 
<div>
    <a href="#comments_02" class="show_comments_action"> Показать\Скрыть комментарии </a>
    <div id="comments_02" class="none">
        comments_02
        <br/>comments_02
        <br/>comments_02
        <br/>comments_02
    </div>
</div>

JS:
JavaScript
1
2
3
4
$('.show_comments_action').click(function(){
  var id = $(this).attr('href');
    $(id).toggle();
});
Результат на Fiddle
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 15:36  [ТС]
Все было бы просто если бы было известно кол-во этих бланков. А они создаются программно из БД и их кол-во может быть сотня и более(

Добавлено через 8 минут
Сейчас сделал так
HTML5
1
2
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">

JavaScript
1
2
3
4
function hideShowDiv(){
var id = $(this).attr('ShowDiv');
    $('.comments_form').slideToggle(1000);
}
Вот как сделать что бы открыть форму комментирования где ИД тот который поместил в ID
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 15:45
то есть у тебя есть такой код
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// $blank_id==1;
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">...comments...</div>';
 
// $blank_id==2;
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">...comments...</div>';
 
// $blank_id==3;
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">...comments...</div>';
 
// $blank_id==4;
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">...comments 4...</div>';
и ты хочешь при нажатии на
PHP
1
2
3
// $blank_id==4;
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">...comments 4...</div>';
открывать именно <div class="comments_form">...comments 4...</div> ?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 15:52  [ТС]
Есть вот этот код
PHP
1
2
echo '<a href="#" ShowDiv="'.$blank_id.'" onclick="hideShowDiv();"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form">
который работает в цикле while. Значения беруться из базы и создаются бланки пока не закончатся значения.
В каждую ссылку показать\скрыть присваиваеться ид заявки.

При нажатии на показать\скрыть необходимо открывать комментарии именно к этому бланку на ссылку которого ты нажал. Ид я получил и запихал в jQuery а как обработать чтобы открывалось и менно к этому бланку не могу допетрить

Добавлено через 49 секунд
Но в целом вы правельно поняли.

Добавлено через 18 секунд
Прошу прощения за орфографические ошибки.
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 15:56
ИМХО вижу два способа это сделать.
1. через each comments_form и сравнивания ее порядковый номер с $blank_id
2. присвоить каждой <div class="comments_form" id="comments_form_'.$blank_id.'">
какой выбираете?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 15:59  [ТС]
Второй способ попробуйте мне объяснить. Я так понял свсе тоже самое тока ид класть не в ссылку а в саму форму коментов? А потом как в JQ это реализовать?
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 16:08
PHP
1
2
echo '<a onclick="hideShowDiv('.$blank_id.');"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form" id="comments_form_'.$blank_id.'">............</div>';
JavaScript
1
2
3
function hideShowDiv(id){
    $('#comments_form_'+id).slideToggle(1000);
}
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 16:35  [ТС]
Не работает так( ничего не происходит
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 16:57
Цитата Сообщение от Руфус Посмотреть сообщение
Не работает так( ничего не происходит
а почему тогда у меня работает?), специально сделал файл проверить...
вы функцию поместили выше вывода?
JavaScript
1
2
3
function hideShowDiv(id){
    $('#comments_form_'+id).slideToggle(1000);
}
PHP
1
2
echo '<a onclick="hideShowDiv('.$blank_id.');"><h5>Показать\Скрыть комментарии</h5></a>';
echo '<div class="comments_form" id="comments_form_'.$blank_id.'">............</div>';
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 17:20  [ТС]
пропустил кавычку ))) все заработало!!!!!!!!!!!!! Огромное вам спасибо!!!!!! И еще вопрос: когда нажимаю на любую скрыть\показать меня кидает вверх к первому бланку. Как реализовать чтобы на месте осталась?

Добавлено через 15 минут
Сделал. над было добавить event.preventDefault(); и тогда не кидает) спс за помощь всем.
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 18:32
Цитата Сообщение от Руфус Посмотреть сообщение
над было добавить event.preventDefault(); и тогда не кидает) спс за помощь всем.
скорее всего дело в этом "href="#"", уберите его
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
18.11.2014, 18:34
asql, К чему такие сложности в такой простой задаче?
0
0 / 0 / 0
Регистрация: 29.06.2013
Сообщений: 44
18.11.2014, 18:35  [ТС]
Ну я не про прогер и не могу сообразить как сделать проще. подскажите наведите меня на путь истенный)
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 18:40
Цитата Сообщение от and_y87 Посмотреть сообщение
К чему такие сложности в такой простой задаче?
после этих слов нужно сразу свой код прилагать
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
18.11.2014, 18:54
asql, Руфус, 2й пост.

Добавлено через 53 секунды
Единственное это забыл там вставить
JavaScript
1
e.preventDefault();
0
76 / 77 / 40
Регистрация: 03.06.2014
Сообщений: 463
18.11.2014, 19:13
Цитата Сообщение от and_y87 Посмотреть сообщение
К чему такие сложности в такой простой задаче?
а какие тогда тут сложности? ваш код просто альтернатива моему...
0
Develo0per
 Аватар для and_y87
424 / 368 / 75
Регистрация: 27.02.2012
Сообщений: 1,379
Записей в блоге: 98
18.11.2014, 19:52
asql, при использовании ссылок и идентификаторов id прекрасно и валидно хранятся в href. Исключая лишнее складывание в теле функции и лишний аттрибут. В теле элемента.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.11.2014, 19:52
Помогаю со студенческими работами здесь

Скрыть див через определенное время
Вообщем не получается, делаю так: &lt;script type=&quot;text/javascript&quot;&gt; function hideDiv(){ ...

Показать/Скрыть
Ребят после второго клика &quot;Показать&quot; скрывает меню сразу же, а нужно чтобы он показывал меню по клику на кнопку, и скрывал тоже по клику. ...

Показать/скрыть содержимое
$(function() { $('.product').hover( function() { $(this).next('span').fadeIn(); }, function() { ...

Скрыть/показать таблицу
Здравствуйте :) Никак не могу додумать, как сделать динамическое скрытие/открытие таблицы хтмл по нажатию на чекбокс? Может кто...

Скрыть и показать элемент
Тут такая проблема : Мы имеем &lt;div id=&quot;hmenu&quot;&gt; Мне нужно , чтобы при нажатии на определенную клавишу opacity ида hmenu плавно...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Новые блоги и статьи
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru