У меня есть цикл php, который правильно отображает ожидаемые значения в виде заголовков HTML.
Здесь я хочу создать скрытый вход для каждого, поэтому, если для категорий есть 15 тегов, я хочу 15 скрытых входов.
Приведенный ниже код «работает», регистрируя правильную информацию, однако он регистрирует только первый.
Очевидно, это связано с тем, что циклу php / html назначен ключ, но JavaScript извлекает неуникальный идентификатор.
Как я могу правильно перевести этот ключ в javascript, чтобы я мог записать фактическое значение выбранного элемента, а не только первый?
@foreach($items as $key => $item)
<h3 class="uk-width-4-10">{{$item->category}}</h3>
<input type="hidden" name="edit_category" id="edit_category" value="{{$item->category}}" />
@endforeach
function editCommentModal(){
console.log(document.getElementById("edit_category").value);
}
UPDATE:
код с модальным и span, содержащим событие onclick
@foreach($items as $key => $item)
<!-- display category and button -->
<h3 class="uk-width-4-10">{{$item->category}}</h3>
<a href="#edit-modal{{ $key }}" data-uk-modal><span onclick="editCommentModal()" class="uk-icon-plus-square"></span></a>
<!-- modal -->
<div id="edit-modal{{ $key }}" class="uk-modal edit-modal">
<h3 class="uk-width-4-10">{{$item->category}}</h3>
<input type="hidden" name="edit_category[]" id="edit_category" value="{{$item->category}}" />
</div>
@endforeach
function editCommentModal(){
var inps = document.getElementsByName('edit_category[]');
for (var i = 0; i <inps.length; i++) {
var inp=inps[i];
console.log("edit_category["+i+"].value="+inp.value);
}
}