javascript — целевой идентификатор с помощью jquery

У меня есть кнопки и div (скрытые), которые создаются с помощью php, и они выглядят так:

// while loop start
echo "<img id='epopedit$id' src='img/edit.png' />";

echo "<div id='edialog$id' style='display:none'>
<!-- some data -->
</div>";
// while loop end

Как открыть соответствующий div (edialog) с помощью img (epopedit)?
Это код, который у меня есть, но он открывает все div:

$("[id^=epopedit]").on("click", function(){
$("[id^=edialog]").dialog(options).dialog("open");
});

1

Решение

Используйте общие классы с data-* атрибуты для идентификации конкретных элементов. Что-то вроде этого:

echo "<img class='epopedit' data-idp='$idp' src='img/edit.png' />";

echo "<div class='edialog' data-idp='$idp' style='display:none'>
<!-- some data -->
</div>";
$(".epopedit").on("click", function() {
var $el = $(this);
$(".edialog").filter(function() {
return $(this).data('idp') == $el.data('idp');
}).dialog(options).dialog("open");
});
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector