У меня есть кнопки и 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");
});
Используйте общие классы с 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");
});
Других решений пока нет …