Javascript 单击从列表中获取值

Javascript 单击从列表中获取值,javascript,jquery,Javascript,Jquery,我有一个搜索框,可供选择。例如:当我在搜索框中键入“p”时,我会得到一个列表,上面写着 人格面具 人 个人 现在,当我单击personB时,我想将值捕获为personB。然而,在我的代码中,无论单击什么,捕获的值始终是personA。下面是写在我的jsp页面上的代码 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"

我有一个搜索框,可供选择。例如:当我在搜索框中键入“p”时,我会得到一个列表,上面写着 人格面具 人 个人

现在,当我单击personB时,我想将值捕获为personB。然而,在我的代码中,无论单击什么,捕获的值始终是personA。下面是写在我的jsp页面上的代码

    <script
    type="text/javascript"
    src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"
></script>
<script type="text/javascript">
    $(document).ready(function() {
        $("#keywords").keyup(function() {
            var kw = $("#keywords").val();
            if (kw.length != 0) {
                $.ajax({
                    type : "GET",
                    url : "getPerson.jsp",
                    contentType : "application/json;charset=utf-8",
                    dataType : "json",
                    data : {
                        "searchBoxText" : kw
                    },
                    success : function(response)
                    {
                        var htmlToShow = '<ul>';
                        $.each(response, function(personId, personName)
                                  {
                            htmlToShow += '<li>ID: ' + personId + "; Name: " + personName + '</li>';
                                  })
                                  htmlToShow += '</ul>'
                                  $("#results").html(htmlToShow);
                    }
                });
            } else {
                $("#results").html("");
            }
            return false;
        });
        $("#results").click(function() {

            alert($('li').html());  
    });
</script>
</head>
<body>
    <a href="Logout.jsp">Logout</a>
    <center>
        <div class="ajax_body">
            <div id="inputbox">
                <input
                    id="keywords"
                    type="text"
                    name="keywords"
                    value=""
                />
            </div>
        </div>
        <div id="results"></div>
        <div class="overlay"></div>

    </center>
</body>
</html>
试试这个:

$("#results").click(function(e) {
    alert($(e.target).html());  
});

看起来你想做的事情是这样的:

$("#results").on("click", "li", function() {
    alert($(this).html());
});

这允许您将委托的处理程序绑定到父项,从而允许您为动态添加的DOM元素使用单击处理程序。

Brilliant!如果还有其他疑问,我会回来的:所以我写下了这个sql查询,并试图在query.list中捕获rest_id的值。但是,这给出的值为[1]。我只想要一个不带牙套的。我该怎么做?代码如下:String sql1=从rest_详细信息中选择rest_id,其中rest_name='+nameclicted+'和rest_location='+locclicked+';SQLQuery query1=session.createSQLQuerysql1;System.out.printlnsql1+query1.list@user2791805对不起,我从来没有听说过createSQLQuery函数。我不知道它是怎么工作的。我建议你问另一个问题,所以我写下了这个sql查询,并试图在query.list中捕获rest_id的值。但是,这给出的值为[1]。我只想要一个不带牙套的。我该怎么做?代码如下:String sql1=从rest_详细信息中选择rest_id,其中rest_name='+nameclicted+'和rest_location='+locclicked+';SQLQuery query1=session.createSQLQuerysql1;System.out.printlnsql1+query1.list@用户2791805:这听起来像是一个单独的问题。不要在评论中问更多的问题,创建一个新问题,你就会得到答案。