Как выхватить нужное значение input по клику?

Есть JS-код:
<script type="text/javascript">
function openAlbum()
{
$("#tracks").html('<center>Some text...</center>');
var uid = $("#uid").val();

       $.ajax({
                type: "POST",
                url: "s.php",
                data: "uid="+uid,
                success: function(html) {
                        $("#results").empty();
                        $("#results").append(html);
                }
        });
}
</script>


Также по циклу выводится следующий код:
for ($i = 0; $i < count($searchAlbum); $i++) {
echo '<div id="cover"><form action=""><input type="hidden" id="uid" value="'.str_replace('https://example.com/', '', $searchAlbum[$i]->href).'"/><a href="#" onclick="openAlbum();"><img src="'.$searchAlbum[$i]->images[1]->url.'"/></a><br><br><span>'.$searchAlbum[$i]->name.'</span><input type="submit" style="position: absolute;;left: -99999px;" /></form></div>';
}


Проблема: сейчас по клику выхватывается значение только первого input на странице с id="uid".

Как сделать так, чтобы в переменную uid попадало value из того div, в котором нажали ссылку?
  • Вопрос задан
  • 2418 просмотров
Решения вопроса 1
twixoff
@twixoff
Если вы добавляете объекты DOM динамически, то .click() тут не пойдет - он не привязывается к новосозданным элементам.
Вам необходимо использовать .on()
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@Frapsy
Вот так, вроде бы, правильно
html:
<div id="inputs">
   <input class="my-input" type="text" name="name_1">
   <input class="my-input" type="text" name="name_2">
   <input class="my-input" type="text" name="name_3">
   ...
   <input class="my-input" type="text" name="name_N">
</div>

js:
var id = null;
$('#inputs').on('click','.my-input',function() {
    id = $(this).val();
});
Ответ написан
serhioli
@serhioli
А пробовали использовать селектор класса вместе с .on?
Ответ написан
Комментировать
viktorvsk
@viktorvsk
Помоему, кто-то забывает, что значит id\uid\идентификатор. Как в лингвистике, так и в html.
Это уникальное значение.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы