Я пытаюсь получить идентификатор ввода, используя jquery. То, что я делаю, это получить идентификатор кнопки, которую я нажимаю, затем я объединяю строку, чтобы получить идентификатор элемента, который я хочу иметь. Но когда я получаю var picloc для показа, он говорит undefined. Как получить идентификатор скрытого ввода?
$('.photo-frame').click(function (){
var id = this.id;
var picloc = $('#'+id+'_location').val();
$('#picture-selected').html(id);
});
<span class="photo-frame" id="<?php echo $filetitle2;?>">
</span>
<input id="<?php echo $filetitle2;?>_location" type="hidden">
Если скрытый элемент является только следующим диапазоном в DOM, вы можете использовать следующий скрипт.
$('.photo-frame').click(function (){
var hidden_element = $(this).next('input:hidden').val();
});
Попробуй это:
$('.photo-frame').click(function (){
var id = $(this).attr('id');
var picloc = $('#'+id+'_location').val();
$('#picture-selected').html(id);
});
Вы уверены, что используете вышеуказанный блок кодов внутри $(document).ready(function(){... });
или самой страницы.
Вы можете попробовать следующее:
var currentId = $('#element').attr('id');
Это будет работать только при условии, что у вас есть действительный объект jQuery $(this)
, например:
var currentId = $(this).attr('id');
var id = this.id;
имеет некоторые проблемы.
this
относится к самому документу. Вы должны окружить его с помощью $()
, чтобы указать элемент с кликом. И я не знаю, можно ли использовать [object].id
.
Измените строку следующим образом.
var id = $(this).attr('id');