1

選択できるオプションを提供する検索ボックスがあります。例: 検索ボックスに「p」と入力すると、personA personB personC というリストが表示されます

ここで、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>
4

2 に答える 2

0

あなたがやりたいことは次のようなものです:

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

これにより、委任されたハンドラーを親アイテムにバインドして、動的に追加された DOM 要素のクリック ハンドラーを持つことができます。

于 2013-10-02T17:27:22.200 に答える