Javascript ajaxonclick监听器不';行不通
我有一个包含许多Javascript ajaxonclick监听器不';行不通,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个包含许多li的页面,每个li都有一个onclick监听器,如下所示: <?php while ($row = $allFoods->fetch()) { ?> <li onclick="selectFood(' <?php echo $row['Name']; ?> ')"> <?php echo $row['Name']; ?> </li> <?php
li
的页面,每个li
都有一个onclick监听器,如下所示:
<?php while ($row = $allFoods->fetch()) { ?>
<li onclick="selectFood(' <?php echo $row['Name']; ?> ')">
<?php echo $row['Name']; ?>
</li>
<?php } ?>
$(document).ready(function() {
$("#searchButton").click(function (){
var foodToSearch = $("#foodToSearch").val();
$.getJSON("http://localhost/TheEatTel/Food/search/"+foodToSearch+"/TRUE",function(data){
var results = '';
for(var i=0;i<data.length;i++){
results +='<li onclick="selectFood('+ data[i] +')">';
results+=data[i];
results+='</li>';
}
alert(results);
$(".afflFoods").html(results);
});
});
});
数据显示的和预期的一样好,但是onclick监听器不工作,我的意思是当我按下任何新项目(来自使用ajax的数据库)时,什么都没有发生,为什么?解决方案是什么,谢谢您的建议您没有引用传递给
selectFood
的字符串
'<li onclick="selectFood(\''+ data[i] +'\')">';
”;
您没有引用传递给selectFood
的字符串
'<li onclick="selectFood(\''+ data[i] +'\')">';
”;
您可以使用此命令将侦听器附加到li
-
$(document).on('click','li.selectFood',function(e){
// do stuff that you'd do in selectFood()
selectFood($(this).html());
});
为此,您需要选择food
作为每个li-
<?php while ($row = $allFoods->fetch()) { ?>
<li class="selectFood">
<?php echo $row['Name']; ?>
</li>
<?php } ?>
您可以使用此命令将侦听器附加到
li
-
$(document).on('click','li.selectFood',function(e){
// do stuff that you'd do in selectFood()
selectFood($(this).html());
});
为此,您需要选择food
作为每个li-
<?php while ($row = $allFoods->fetch()) { ?>
<li class="selectFood">
<?php echo $row['Name']; ?>
</li>
<?php } ?>
是的,它工作正常,onclick列表器工作正常,但是现在
$(“.afflFoods”).html(结果)代码>停止工作,我的意思是来自数据库的数据没有出现在.affloods
是的,它工作正常,onclick列表器工作正常,但是现在$(“.afflFoods”).html(结果)代码>停止工作,我的意思是来自数据库的数据没有出现在中。affloods
.on()
是在jquery 1.7中添加的,所以请确保您有最新版本。onclick lister可以工作,但“$(“.afflFoods”).html(结果);”在我的代码结束时停止工作,我的意思是来自数据库的数据没有出现在.afflfoods
中,什么是解决方案可以将结果变量放在控制台中,让我知道它输出了什么?。on()
是在jquery 1.7中添加的,所以请确保您有最新版本。onclick lister可以工作,但是“$”(.afflfoods”).html(结果);`在我的代码结束时停止工作,我的意思是来自数据库的数据没有出现在.afflfoods
中,什么是解决方案可以将结果
变量放在控制台中,并让我知道它的输出?