К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

jQuery один обработчик для нескольких DIV

Гость
0 - 18.11.2015 - 10:42
Имеем

<DIV>
<UL>
</UL>
</DIV>

<DIV>
<UL>
</UL>
</DIV>
итд............
<DIV>
<UL>
</UL>
</DIV>

при нажатии на DIV нужно вывести во вложенный UL результат обработки PHP, в зависимости от того на какой DIV нажал (какие параметры DIV, например имя DIVа). Я могу сделать это сделав количество jQuery обработчиков равное кол-ву ДИВов, но хочется сделать с одним обработчикам.



Гость
1 - 19.11.2015 - 14:08
Сергей, задайте всем дивам одинаковый класс и устанавливайте обработчик на этот класс. Далее уже будете использовать внутренние данные каждого дива в своих расчетах.
Гость
2 - 24.11.2015 - 14:18
Ребята - Зачем все усложнять?
Если DIVу можно присваивать Имя или Класс.
Тогда проще присвоить ID и onclick="FunctionJS(ID);".
В результате получается:
<div id="1" onclick="FunctionJS(1);"></div>
...
...
<div id="n" onclick="FunctionJS(n);"></div>
<script type="text/javascript">
function FunctionJS(id){Обработчик клика по диву**
</script>
Вот и все!
И потом хоть jQuery хоть Ajax подгружаем из PHP <ul>...</ul>, вообщем все что Вам нужно.
Гость
3 - 24.11.2015 - 14:45
0-SergeySS >Вот тебе рабочий код - бери пока я Добрый и не мучайся!
<div class="group_boxc">
<a onclick="GroupOpen(20)" title="Открыть"><span class="group_open" id="gr_20">+</span></a> <a href="avtozapchasti-jidkosti_NORD">Охлаждающие жидкости NORD</a>
<div style="margin:5px 0 5px 0;" id="grtxt_20"></div>
</div><div class="group_boxc">
<a onclick="GroupOpen(21)" title="Открыть"><span class="group_open" id="gr_21">+</span></a> <a href="avtozapchasti-antifrizyi_MOBIL">АНТИФРИЗЫ MOBIL</a>
<div style="margin:5px 0 5px 0;" id="grtxt_21"></div>
</div><div class="group_boxc">
<a onclick="GroupOpen(22)" title="Открыть"><span class="group_open" id="gr_22">+</span></a> <a href="avtozapchasti-antifrizyi_ZIC">АНТИФРИЗЫ ZIC</a>
<div style="margin:5px 0 5px 0;" id="grtxt_22"></div>
</div>
<script type="text/javascript">
function GroupOpen(tid)**
var st=document.getElementById('gr_'+tid).innerHTML;
if(st=='-')**
document.getElementById('gr_'+tid).innerHTML='+';
document.getElementById('grtxt_'+tid).innerHTML='' ;
**else{
document.getElementById('gr_'+tid).innerHTML='-';
document.getElementById('grtxt_'+tid).innerHTML='< img src="images/admin/loader.gif" style="border-radius:10px;" />';
$.post("form-catalog_group", ** group:tid **,
function(data)**
document.getElementById('grtxt_'+tid).innerHTML=da ta;
**, "html");
**
**
</script>
Тут правда onclick в <a> сделан (это чтобы Плюс на Минус менять) но лишнее можешь Выкинуть!
Оригинал Кода здесь: http://www.atomavto.ru/avtozapchasti...schie_jidkosti Можно посмотреть как это работает!
Гость
4 - 24.11.2015 - 20:37
innerhtml, onclick при наличии jquery?) передавать параметр = id который уже есть у span?)
Гость
5 - 27.11.2015 - 15:10
$('.classname').bind('click',function()**
получаем ид - и т.д.
$(this). ...
**);
Гость
6 - 03.12.2015 - 22:44
4-droidman >А чем Вам не нравится OnClick и document.getElementById().innerHTML ?
Первый - Это стандартное событие (любой Браузер понимает)!
Вторая - Стандартная функция JS (ее таже jquery использует).
Да в коде слишком МНОГО лишних БУКОВОК - но ведь работает!
Вообще там раньше работал Ajax, но прикрутили jquery и выкинули его, а вот код в движке остался.
Так сказать обошлись МАЛОЙ кровью!
Гость
7 - 03.12.2015 - 23:00
4-droidman >Да и кстати у span и у div там ID нет!
Им ID присваивает PHP исходя из их id базы MySQL и буковок "gr_" и "grtxt_"!
И по этому достаточно передать ID в функцию GroupOpen(), и она сразу найдет куда и ЧЕ вставлять!
Гость
8 - 03.12.2015 - 23:43
ну если не смущает трёхкратное упоминание ID и явная шаблонизация, то норм)


К списку вопросов






Copyright ©, Все права защищены