Несколько вещей:
Вы не можете ссылаться на внешние библиотеки исходного JavaScript и встраивать свой собственный JavaScript в одном <script>
элемента. Вы должны использовать два <script>
элементов, например:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"><script>
<script>
$(document).on('click', '.studentclass', function() {
var clickeditem = $(this).attr("id");
alert(clickeditem);
});
</script>
Кроме того, ваш код включает в себя дополнительную });
в конце, что ошибка синтаксиса.
Далее, , потому что вы динамически создаете элемент, возможно, код, связанный с обработчиком событий, запущен до того, как элемент был добавлен в DOM. В этом случае рекомендуется event delegation. Даже если текущий код создает элемент до запуска скрипта, это считается лучшей практикой для защиты от этого, что становится проблемой в будущем, если ваша структура кода изменится.
В начале этой статьи гласит:
делегация события позволяет прикрепить один слушатель событий, к родительскому элементу, который будет срабатывать для всех потомков, соответствующих селектор , существуют ли эти потомки теперь или добавлены в будущее .
Изменить код:
$(document).on("click", ".studentclass", function() {
var clickeditem = $(this).attr("id");
alert(clickeditem);
});
Поскольку мы не можем воспроизвести .php здесь, я покажу рабочий код со статическим элементом.
$(document).on('click', '.studentclass', function() {
var clickeditem = $(this).attr("id");
alert(clickeditem);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="dropdown">
<button onclick="myFunction()" class="dropbtn">Find Student ></button>
<div id="myDropdown" class="dropdown-content">
<input type="text" placeholder="Search.." id="myInput" onkeyup="filterFunction()">
<div id="studentdrop">
<div id='students1'>
<a href="#" id="testing1" class="studentclass">student name</a>
</div>
<div id='students2'>
<a href="#" id="testing2" class="studentclass">student name</a>
</div>
</div>
</div>
</div>
'DATATYPE: "PHP",' 'должны быть DATATYPE: "HTML",' и раскомментируйте строку для оповещения. Также покажите нам HTML. Ваш обработчик событий также должен быть «change», а не 'click'. –
@ScottMarcus ive отредактировал код, предупреждение im, пытающееся добраться до работы, является верхним, а не предупреждением ajax! – Jub
Как применяются теги AJAX и PHP? Я ничего не вижу в AJAXy. – j08691