JQuery - Ajax нажимает на триггер href

У меня небольшой вопрос. У меня есть поле ввода, где кто-то может искать конкретное значение. Вот следующий код

$('#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 );
});

Я, наверное, смотрю, может кто-нибудь мне помочь

Спасибо!

Во-первых, у вас не должно быть нескольких элементов с одним и тем же идентификатором, и, судя по вашему циклу while, я предполагаю, что у вас будет. ID должен быть уникальным. Во-вторых, ваша проблема заключается в том, что вы загружаете контент через ajax, поэтому вам нужно привязать обработчик кликов к статическому родительскому элементу, как описано здесь stackoverflow.com/questions/203198/…

TommyBs 09.10.2018 11:23

@TommyBs У меня были идентификаторы в качестве теста, спасибо, что все еще сообщили мне. я понял это большое спасибо !.

Kevin 09.10.2018 11:32
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
88
3

Ответы 3

$(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(); в функцию щелчка.

Это не сработает для динамически генерируемых элементов. Вы должны делегировать мероприятие.

Jai 09.10.2018 11:36

Поскольку на данный момент 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>

Другие вопросы по теме