Конфликт в Jquery движок DLE 9.7 нужна помощь
Страницы: 1
[ Закрыто ] Конфликт в Jquery движок DLE 9.7 нужна помощь
Добрый день, уважаемые форумчане. Прошу помощи.
Ситуация такова:
Через доп поле в выводе краткой новости выводится код:

Код
[xfgiven_region]<div id="DLE" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"><span>Регионы</span> <span>(Кликабельно)</span></a></div>[/xfgiven_region]
в /engine/classes/js/dle_js.js в самом конце сам скрипт:

Код
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
} 
Так вот, проблема в чём - если на странице выводится 1 такой скрипт - всё нормально, если больше то они начинают толи конфликтовать, то ли ещё что-то. Скорее всего из за того-что  id="DLE" у них одинаковый.
Ещё были догадки что это всё из-за кэширования jquery, первые запросы нормальные, потом когда повторно нажимаешь - выводит информацию не той краткой новости...
Что пробовал?
1) В доп. поле вставлял 


Код
[xfgiven_region]<div id="DLE" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"  ajaxURL += "&noCache=" + (new Date().getTime()) + Math.random();><span>Регионы</span> 
<span>(Кликабельно)</span></a></div>[/xfgiven_region]


2) в  /engine/classes/js/dle_js.js изменял 

Код
function ShowMyModal() {
   $.ajaxSetup({cache: false}); 
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
}

Код
$.ajaxSetup({cache: false}); 
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
} 

Код
function ShowMyModal() {
    $(function(){
         $('#DLE').dialog({
            autoOpen: true,
            show: 'fade',
            cache: false,
            hide: 'fade',
            width: '600',
            height: 'auto',
            buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});});
}
Всё без результата, кто знает в чём проблема и как устранить?
Изменено: ov3rdoc - 17 Февраля 2013 14:01
Всегда можно использовать ID для уникализации элемента или писать this, что бы не перемешивать все в кашу.
Вообще запускать функцию в функции нет смысла, в онклик можете сделать так onclick="ShowMyModal('уникальный номер, например 5');



[TABLE]

[TR][TD]
[xfgiven_region]<div id="DLE" class="dle5" title="Зона охвата [xfvalue_namebank]" style="display:none;">[xfvalue_region]</div><div class="quoteregion">
<a onclick="ShowMyModal(); return false;"><span>Регионы</span> <span>(Кликабельно)</span></a></div>[/xfgiven_region]
[/TD][/TR]

[/TABLE]

class="dle5" - там где 5 ставите свой уник номер и в онклик этот номер, теперь функция будет выполнятся тольк к одному классу (для каждого элемента нужен свой номер), если там цикл, то просто i++ будет достаточно

[TABLE]

[TR][TD]
function ShowMyModal(id) {
$('.dle'+id).dialog({
autoOpen: true,
show: 'fade',
cache: false,
hide: 'fade',
width: '600',
height: 'auto',
buttons: {"Закрыть окно":function(){$(this).dialog("close");}}});
}
[/TD][/TR]

[/TABLE]



вроде все верно
Олег Гречина, спасибо, сейчас попробую ваш вариант. Кстати, а зачем всё это в таблицу завёртывать?
Цитата
ov3rdoc пишет:
Олег Гречина, спасибо, сейчас попробую ваш вариант. Кстати, а зачем всё это в таблицу завёртывать?
Та это супр так теги искаверкал, я из вашего поста копировал код, вот оно так и скопировало...п.с. я код не тестил, просто идею реализации передал, хотя и так должно работать)
Олег Гречина, я вам отпишу о результатах, в качестве переменной возьму тег {news-id} что-бы бесполезные доп.поля с цифрами не создавать
Олег Гречина, Огромное вам спасибо! Всё получилось, тему попрошу закрыть:mail:
Цитата
ov3rdoc пишет:
Олег Гречина, Огромное вам спасибо! Всё получилось, тему попрошу закрыть:mail:

ov3rdoc, спасибо, что отписались в теме.
Тему закрыл и перенёс в раздел "Х".
Страницы: 1
Похожие темы:
Читают тему (гостей: 1, пользователей: 0, из них скрытых: 0)
Новые темыОбъявленияСвободное общение
22:27 LOSPOLLOS.COM - Конвертим по рецепту Хайзенберга. Dating, Mainstream, Binary Options 
12:39 2Index - быстрая индексация страниц сайта и обратных ссылок 
06:17 3snet - гемблинг, беттинг, форекс, бинарные опционы, майнинг 
11:46 SharkBoss - партнёрская программа для монетизации ЛЮБЫХ видов трафика (включая спам). 
23:10 Dao.AD: Монетизация и покупка Push/Pops/Inpage и Video трафика! 
21:20 Rotapost прикрыли! Чем пользоваться? 
00:23 Раскрутка форума 
13:38 BIGPROXY.SHOP - Резидентные Ротационные Backconnect Proxy USA EUROPA MIX [Безлимитный трафик] 
13:16 PonyBit.ru - обменный пункт PonyBit.ru (Понибит.ру) 
12:46 Мобильные и Резидентные Прокси Для Соц Сетей | 3 Гб Бесплатно 
12:12 CryptoGraph — Анонимный обмен криптовалют без KYC и AML 
10:46 Linken Sphere – браузер-антидетект нового поколения 
05:06 CoinCapital  
04:28 Просто $0.04/IP 9PROXY.COM Резидентные прокси Неограниченная пропускная способность Уникальная политика замены Без чёрного списка 
13:08 Бесплатный майнинг Tether (USDT) 
10:29 С юмором по жизни! 
16:49 monetizer.agency – рекламная сеть для взрослого и развлекательного трафика. 100$ новому вебмастеру 
20:43 Добро пожаловать в цифровой мир... 
15:59 Про мясо 
23:09 ПП от PMS remote.team - 200$ за команду 
13:28 Компьютерная мышь