我一直在尝试为这个问题找到解决方案。我认为.live()会有所帮助,但它不会在jquery 1.9.1中使用
我有这个功能 - 其中的要点是:
while($row = $result->fetch_assoc()) {
$currentID = $row['UserID'];
$query2="SELECT FirstName, LastName, UserID FROM Users WHERE UserID = $currentID";
$result2 = $mysqli->query($query2);
$row1 = $result2->fetch_assoc();
echo '<div class="commentEntry">';
echo "<h5><a href='user.php?User=".$row1['UserID']."'>".$row1['FirstName']." ".$row1['LastName']."</a></h5>";
echo "<p>".$row['Content']."</p>";
echo "<p class='agree'><a href='#' class='agreeWith' id=".$row['commentID'].">Agree</a></p>";
echo "</div>";
}
此功能有效,不是问题。 所以基本上使用jquery我想要掌握所有动态添加的a.agreeWith实例。
为了测试,我正在使用它:
$(document).ready(function() {
$('a.agreeWith').click(function(event) {
event.preventDefault();
alert("test");
var agree = $(this).id;
var data = 'Agree=' + agree.val();
});
});
现在我发现没有发生的事情是,警报永远不会出现。 a href链接仍然触发,因此显然没有呼叫。
我只是通过在页面中写入任何内容来测试它,并且它起作用,警报出现。
很明显,动态加载的信息存在问题,并尝试将jquery应用于它。
问题是。我该如何解决这个问题?
感谢您的帮助。
答案 0 :(得分:1)
这应该对您有用,至少可以使您的警报正常工作。不确定你想要做什么......
$(document).ready(function() {
$(document.body).on('click', 'a.agreeWith', function(event) {
event.preventDefault();
alert("test");
var agree = $(this).id;
var data = 'Agree=' + agree.val();
});
});