Форум программистов, компьютерный форум, киберфорум
Наши страницы

jQuery

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 4.73
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
#1

скрыть все div в цикле do while, при нажатии на <a href> через jquery - jQuery

09.08.2012, 09:17. Просмотров 2769. Ответов 16
Метки нет (Все метки)

При нажатии на ссылку скрывается и раскрывается только первый блок, а остальные ссылки и блоки не работают.

Это ссылка при нажатии на которую открывается div
PHP
1
echo "<div class='doctor_z_4'>" . "<a href='' id='fa'>" . $talon_time['date_talon'] . "\n" . substr($talon_time['time_talon_tima'],0,5) . " - " . "</a>" . "<p id='fa'>" .$talon_time['talon_status_text']  . "</p>" . "</div>";
Сам div
PHP
1
echo "<div id='block' style='display:none;'>";
повторюсь это всё находится в цикле do while
а вот и сам jquery
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready (function() {
$('#fa').toggle(function() 
{
$('#block').show('drop', 2000);
}, function()
{
$('#block').hide('drop', 2000);
});
});
</script>
И работает ток первая функция в do, остальные как простые ссылки
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.08.2012, 09:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос скрыть все div в цикле do while, при нажатии на <a href> через jquery (jQuery):

Скрыть div при нажатии на кнопку - JavaScript
кто подскажет как скрыть div с кодом при нажатии на кнопку вместе с кнопкой так-как кнопка в div-е с кодом иммею в виду чтобы логика в...

Скрыть div при нажатии на него - JavaScript
Помогите решить проблему. Я в JS никакой. Если кто знает, напишите код, который позволяет скрыть div при нажатии кнопки мыши в любую...

При нажатии на кнопку должно в цикле срабатывать волнообразное проявление областей div слево-направо, а затем - jQuery
При нажатии на кнопку должно в цикле срабатывать волнообразное проявление областей div слево-направо, а затем наоборот, исчезновение. Цикл...

Как скрыть все DIV кроме заданного ID при клике? - jQuery
Здравствуйте, на странице есть меню-фильтр из ссылок вида: &lt;a href=&quot;#nomer1&quot;&gt;Фильтр1&lt;/a&gt; &lt;a href=&quot;#nomer2&quot;&gt;Фильтр2&lt;/a&gt; *Всего...

Свернуть развернуть div через <a href='#'> - jQuery
Здравсвуйте, как мне сделать скрытыми блоки div а при нажатии на ссылку их открывать, изначально ссылка и блоки прописаны в php echo...

N кол во таблиц div в цикле нужно скрыть\показать определенный - JavaScript
Доброго времени суток! у меня возникла такая проблема: у меня есть большое количество строк которые выводятся из БД на страницу циклом по...

16
Soldado
730 / 721 / 4
Регистрация: 28.06.2012
Сообщений: 1,318
Записей в блоге: 4
09.08.2012, 09:55 #2
У вас все блоки имеют один и тот же id, а это индивидуальный идентификатор и он не может быть использован для группы элементов. По-этому jQuery берёт лишь первый блок, а остальные игнорирует.
Используйте class.
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 09:57  [ТС] #3
А можешь накидать примерно хотябы как будет время, а то я мучаюсь уже 2 дня с этим. Да я сделал вот как ещё теперь при клике на любую ссылку все блоки появляются
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready (function() {
$('a#fa').toggle(function() 
{
$('div#block').show('drop', 2000);
}, function()
{
$('div#block').hide('drop', 2000);
});
});
</script>
А как дальше понятия не имею.
0
Schtrich
weboman
209 / 194 / 11
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.08.2012, 10:08 #4
ну вы и накодили если чсн.

Используйте класс вместо id,

т.е.

HTML5
1
2
<div class="test">test 1</div>
<div class="test">test 2</div>
Javascript
1
$('.test').hide('drop',2000);
Один и тот-же класс может быть присвоен сразу нескольким элементам, но идентификатор может быть только один единственный и неповторимый, это же "идентификатор"!

Так что используя класс, а не идентификатор можно скрыть сразу несколько элементов!
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 10:30  [ТС] #5
Цитата Сообщение от AlienNation Посмотреть сообщение
Используйте класс вместо id,
Сказал как ты и написал вроде если всё верное понял
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready (function() {
$('.fa').toggle(function() 
{
$('div.block').show('drop', 2000);
}, function()
{
$('div.block').hide('drop', 2000);
});
});
</script>
И получается я нажимаю на любую <a href> и у меня сразу все div появляются, иными словами сейчас всё работает ток надо мне чтобы появлялась то только 1 блок который принадлежит ссылке данной в цикле, как назвать активный получается
0
Schtrich
weboman
209 / 194 / 11
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.08.2012, 10:40 #6
давайте так, вы приведете нормальный пример html, напр. вот как тут:

http://jsfiddle.net/Stasonix/TwjgD/1/

и скажете конкретно что вам нужно скрыть, а что появить и т.д.
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 11:04  [ТС] #7
Вот структура
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<div class="doctor_z_4">
    <a href="#" class="fa"> Талон 1 </div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 1</div>
</div>
 
<div class="doctor_z_4">
    <a href="#" class="fa"> талон 2</div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 2</div>
</div>
...
<div class="doctor_z_4">
    <a href="#" class="fa"> талон 10</div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 10</div>
</div>
Вот js
Javascript
1
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
$(document).ready (function() {
$('.fa').toggle(function() 
{
$('div.block').show('drop', 2000);
}, function()
{
$('div.block').hide('drop', 2000);
});
});
</script>
Теперь что должно быть, изначально при загрузки страницы, должны быть только ссылки с надписями, талон 1 , талон 2 , талон 3 и тд. а div где время 1, время 2, время 3 быть скрытыми! (P.S.: это всё работает), далее при нажатии на ссылку "талон 1" под этой ссылкой, появляется div "время 1" все остальные div скрыты, при нажатии на ссылку "время 2" появлялся div с "время 2". Только вот надо так чтобы класс был у ссылок 1 и класс в div тоже у всех один и тот же. Ну вроде всё рассписал полностью.
0
Schtrich
weboman
209 / 194 / 11
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.08.2012, 11:22 #8
разберитесь со стрктурой товарищ.

У вас явно верста невалидная, а если бы она была валидная, то все бы работало примерно так:

http://jsfiddle.net/Stasonix/TwjgD/2/

Оно?
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 14:54  [ТС] #9
Вот сайт ссылка прямая, по ходу не суждено сделать как я задумал http://kostdgb.kz/mysite/doctor_z.php?cat_z=1
0
Schtrich
weboman
209 / 194 / 11
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.08.2012, 15:59 #10
Я вижу там только два блока, вроде оба работают, на будущее: http://validator.w3.org/, проверьте валидность вашей верстки, (16 ошибок).
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 16:05  [ТС] #11
Да работать то работает, только вот мне не нужно ведь чтобы я нажимал на любую ссылку и открывалось всё, а нужно чтобы только по ссылкой нажатой открывалось а остальное было скрыто
0
Schtrich
weboman
209 / 194 / 11
Регистрация: 13.08.2010
Сообщений: 1,531
Записей в блоге: 6
09.08.2012, 16:31 #12
тогда так:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<div class="talon_doc_center">
    <div class="doctor_z_3">
        Онлайн запись открыта
    </div>
    <div class="doctor_z_4"> 
 
        <!-- ВОТ ТУТ аттрибут rel="wednesday" добавлен к ссылке -->
        <a href="#" class="fa" rel="wednesday">Среда 15 Августа 08:00 - </a>
        <p>
            Свободный
        </p>
    </div>
    <div class="line">
    </div>
 
    <!-- ДОБАВИЛСЯ аттрибут id="wednesday" к скрытому блоку -->
    <div class="block" id="wednesday" style="display: none;">
        <div class="zap_tal_1">
            Здравствуйте! Ваш талон № <b class="zap_tal_2">13</b>
        </div>
        <div class="zap_tal">
             Ваш врач: <b class="zap_tal_2">Кузьмина Людмила Михайловна</b>
        </div>
        <div class="zap_tal">
             День приёма: <b class="zap_tal_2">Среда 15 Августа</b>
        </div>
        <div class="zap_tal">
             Время приёма: <b class="zap_tal_2">08:00</b>
        </div>
        <div class="line">
        </div>
        <form id="form" method="post" action="lesson20.php">
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Имя ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="name_reb">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Фамилия ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="fam_reb">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Отчество ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="middle">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Домашний адрес:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="adres_dom">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Домашний телефон:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="tel_dom">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Сотовый телефон:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="te_sot">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Укажите пол:
                    </p>
                </div>
                <div class="formochka_input">
                    <div style="" class="container">
                        <input type="checkbox" style="opacity: 0;" checked="checked"><label style="opacity: 1;" class="on">Ж</label><label style="opacity: 0;" class="off">М</label>
                        <div style="left: 46px;" class="handle">
                            <div class="bg" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); left: 34px;">
                            </div>
                            <div class="slider">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Ваш E-mail:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="email" class="name_reb" name="mail">
                </div>
            </div>
            <input type="submit" value=" записаться ">
        </form>
    </div>
    <div class="doctor_z_4">
 
       <!-- ТУТ аттрибут rel="thursday" добавлен к ссылке -->
        <a href="#" class="fa" rel="thursday">Четверг 27 Декабря 09:20 - </a>
        <p>
            Свободный
        </p>
    </div>
    <div class="line">
    </div>
 
    <!-- СМОТРИТЕ ДОБАВИЛСЯ аттрибут id="thursday" к скрытому блоку -->
    <div class="block" id="thursday" style="display: none;">
        <div class="zap_tal_1">
            Здравствуйте! Ваш талон № <b class="zap_tal_2">3</b>
        </div>
        <div class="zap_tal">
             Ваш врач: <b class="zap_tal_2">Кузьмина Людмила Михайловна</b>
        </div>
        <div class="zap_tal">
             День приёма: <b class="zap_tal_2">Четверг 27 Декабря</b>
        </div>
        <div class="zap_tal">
             Время приёма: <b class="zap_tal_2">09:20</b>
        </div>
        <div class="line">
        </div>
        <form id="form" method="post" action="lesson20.php">
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Имя ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="name_reb">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Фамилия ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="fam_reb">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Отчество ребёнка:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="middle">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Домашний адрес:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="adres_dom">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Домашний телефон:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="tel_dom">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Сотовый телефон:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="text" class="name_reb" name="te_sot">
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Укажите пол:
                    </p>
                </div>
                <div class="formochka_input">
                    <div style="" class="container">
                        <input type="checkbox" style="opacity: 0;" checked="checked"><label style="opacity: 1;" class="on">Ж</label><label style="opacity: 0;" class="off">М</label>
                        <div style="left: 46px;" class="handle">
                            <div class="bg" style="background: none repeat scroll 0% 0% rgb(255, 255, 255); left: 34px;">
                            </div>
                            <div class="slider">
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div class="formochka">
                <div class="formochka_text">
                    <p>
                        Ваш E-mail:
                    </p>
                </div>
                <div class="formochka_input">
                    <input type="email" class="name_reb" name="mail">
                </div>
            </div>
            <input type="submit" value=" записаться ">
        </form>
    </div>
</div>
Javascript
1
2
3
4
// toggling
$('.fa').click(function(){
    $('#'+$(this).attr("rel")).toggle();
});
суть в том что к ссылке добавляется аттрибут rel, а к скрытому блоку аттрибут id.

пруф: http://jsfiddle.net/Stasonix/qYePq/
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 18:42  [ТС] #13
Цитата Сообщение от AlienNation Посмотреть сообщение
rel="wednesday"
Благодарю только на сколько я понял ты для каждого блока свой код прописывал, а у меня то не html а php и не всегда 2 записи, я потом в админке если добавлю 100 таких талонов то получается код уже будет не актуален. Но за помощь и старания благодарен.
0
Soldado
730 / 721 / 4
Регистрация: 28.06.2012
Сообщений: 1,318
Записей в блоге: 4
09.08.2012, 18:54 #14
Универсальный код, добавляйте сколько угодно дивов:
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
<script type="text/javascript">
$(document).ready (function() {
$('.fa').toggle(
function() 
{
$(this).parent('div').next().children().show('drop', 2000);
},
 function()
{
$(this).parent('div').next().children().hide('drop', 2000);
});
});
</script>
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<body>
<div class="doctor_z_4">
    <a href="#" class="fa"> Талон 1 
</div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 1</div>
</div>
 
<div class="doctor_z_4">
    <a href="#" class="fa"> талон 2</div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 2</div>
</div>
...
<div class="doctor_z_4">
    <a href="#" class="fa"> талон 10</div>
<div class="block" style="display:none;">
    <div class="zap_tal_1">Время 10</div>
</div> 
 </body>
1
Dimka1judo
6 / 6 / 0
Регистрация: 16.01.2012
Сообщений: 245
09.08.2012, 19:00  [ТС] #15
Цитата Сообщение от Soldado Посмотреть сообщение
Универсальный код, добавляйте сколько угодно дивов:
Глять вроде всё как ты написал втсавил вообще теперь не кликается http://kostdgb.kz/mysite/doctor_z.php?cat_z=1, может я что то опять не так сделал
0
09.08.2012, 19:00
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.08.2012, 19:00
Привет! Вот еще темы с ответами:

Получить индекс родительского div при нажатии на дочерний div - jQuery
Здравствуйте как можно получить индекс родительского div при нажатии на дочений div. У меня есть 6 родительских div в которые в каждом...

При выводе html кода через jquery все криво - jQuery
при выводе html кода через jquery $('#serts').html(outputserts); почему-то исчезают пробелы между обьектами все налазит друг на друга, если...

Закрытие Div'a через JS+jQuery - jQuery
Здравствуйте! Вопрос очень легкий для знающих людей. Я, пока что, только учусь. Имеется Div, который расположен на сайте в...

работает только первая ссылка в php через jquery (скрыть открыть div) - PHP БД
Доброго времени суток, у меня такая проблема делаю выборку из базы, ссылок и контейнер с формой, изначально форма скрыта а при нажатии на...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru