Как использовать webui-popover с динамически генерируемой таблицей (jquery)
У меня есть таблица, выводящая некоторые результаты на экран в табличной форме. Для каждой строки таблицы у меня есть столбец со значком (подробнее). Чего я хочу добиться, так это того, что для каждого значка при щелчке он показывает всплывающее окно, похожее на то, что делает Tidal. Но пока это работает только для последнего пункта в списке. Я использую webui-popover,чтобы сделать это.
Что я уже пробовал:
Вот что я сделал до сих пор. Обратите внимание, что CSS и JavaScript для webui-popover были должным образом включены в проект.
Моя HTML-разметка для моих строк:
<tr> <td>'.$name.'</td> <td>'.$title.'</td> <td> <a id="'.$id.'" class="more" data-id="'.$id.'" href="javascript:void(0);"> <i class="material-icons">more_horiz</i> </a> </td> </tr>
Мой JavaScript для функциональности:
var more = document.getElementsByClassName('more');
Сначала я получаю все предметы с классом больше и перебираю их по циклу:
for (var i = 0; i < more.length; i++) { more[i].onclick = function(){ var uid = this.dataset.id; // Popover $('#'+i).webuiPopover({ url:'#pop-content', trigger:'click' , style: 'v2', placement:'bottom-left', animation:'pop', width: '180'}); } }
HTML для всплывающего контента:
<div id="pop-content"> <a class="collection-item title">Signed in as</a> <div class="divider"></div> <a href="#!" class="collection-item">Support</a> <div class="divider"></div> <a href="#!" class="collection-item">Settings</a> </div>
Прямо из коробки вы можете видеть, что каждая строка должна показывать всплывающее окно при нажатии на значок "еще", но это не так.