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
    中,什么是解决方案可以将
    结果
    变量放在控制台中,并让我知道它的输出?