У меня небольшой вопрос. У меня есть поле ввода, где кто-то может искать конкретное значение. Вот следующий код
$('#usersearch').keyup(function () {
var inputvalue = $('#usersearch').val();
$('#usersearch').val(inputvalue);
document.getElementById("popupwithuserssearch").style.display = "block";
$.ajax({
type: "GET",
url: "usersearch.php",
data: {
input: inputvalue
},
success: function(msg) {
$('#popupwithuserssearch').html(msg);
}
});
})
После того, как я запустил свой запрос в usersearch.php Я повторяю html для создания таблицы:
$cell='1';
while (!$rs->EOF){
echo '<tr>';
echo '<td align = "left" class = "cell-'.$cell.'" bgcolor = "#F0F0F0"><a href = "#" style = "color:black;" id = "clicked">'.$rs->fields('name').'</a></td><br>';
$cell = $cell+1;
$rs->movenext();
echo ' </tr>';
} ';
теперь я пытаюсь получить значение, если щелкнуть href я уже пробовал это:
$("#clicked").click(function () {
var value = $(".testClick").attr("href");
alert(value );
});
Я, наверное, смотрю, может кто-нибудь мне помочь
Спасибо!
@TommyBs У меня были идентификаторы в качестве теста, спасибо, что все еще сообщили мне. я понял это большое спасибо !.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


$(document).on('click', '#clicked', function () {
var value = $(".testClick").attr("href");
alert(value );
});
Что ж, удалите свой идентификатор, потому что он должен быть уникальным, и вместо этого назначьте класс. Попробуйте этот код
$(".clicked").click(function () {
var value = $(this).attr("href");
alert(value);
});
Чтобы предотвратить перенаправление, щелкнув свой тег A, добавьте следующую строку event.preventDefault(); в функцию щелчка.
Это не сработает для динамически генерируемых элементов. Вы должны делегировать мероприятие.
Поскольку на данный момент href не имеет значения, я показываю ID
// Add content dynamically
$(document).ready(function(){
var content = '<table>';
for(var i = 0 ; i < 10 ; i++){
content += '<tr><td align = "left" class = "cell-'+i+'" bgcolor = "#F0F0F0"><a href = "#" style = "color:black;" class = "clicked" id = "clicked_'+i+'">'+i+'</a></td></tr>'
}
content += '</table>';
$('#add-dynamic-content').append(content)
});
// Click event
$(document).on('click','.clicked', function(){
alert($(this).attr('id'));
});<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id='add-dynamic-content'></div>
Во-первых, у вас не должно быть нескольких элементов с одним и тем же идентификатором, и, судя по вашему циклу
while, я предполагаю, что у вас будет. ID должен быть уникальным. Во-вторых, ваша проблема заключается в том, что вы загружаете контент через ajax, поэтому вам нужно привязать обработчик кликов к статическому родительскому элементу, как описано здесь stackoverflow.com/questions/203198/…