0

phpファイルonkeyupを呼び出す検索関数があります。JQueryには、同じJSON呼び出しからdivをクリックすると何かを警告するonClick関数があります。おそらく、以下のコードから理解しやすくなります。

<?php
$Connect = new mysqli("localhost", "root", "", "Data");
$Val = $_POST['Val'];

if($Val)
{
    $Search = 'SELECT * FROM Users WHERE ';
    $Term = explode(" ", $Val);

    foreach($Term as $Key)
    {
        $I = 0;
        $I++;
        if($I == 1)
        {
            $Search .= 'Username LIKE "'.$Key.'%" LIMIT 0, 10 ';
        }
        else
        {
            $Search .= 'OR Username LIKE "'.$Key.'%" LIMIT 0, 10 ';
        }
    }

    if($Result = $Connect->query($Search))
    {
        while($Row = $Result->fetch_assoc())
        {
            $User = $Row['Username'];

            $USearch['S'][] = '<div class="Result"><label class="TText" style="cursor:pointer;">' . $User . '</label></div>';
        }
    }
}
echo json_encode($USearch);
?>

ご覧のとおり、ユーザーがボックスに入力すると、divが表示され、ユーザーのすべてのLIKEレコードが表示されます。divをクリックすると、何も起こりません。

$('.Result').click(function()
{
    alert('Hi');
});
4

2 に答える 2

0

要素を動的に作成しているため、機能しません。

on()メソッドを使用します。

例を確認してください。

http://jsfiddle.net/pZQ8T/

于 2013-02-14T01:44:56.607 に答える
0

ajax呼び出しが成功の状態を返す場合、たとえばjquerybindメソッドを使用できます。(詳細については、こちらを参照してくださいhttp://api.jquery.com/bind/

 function myAjaxFunct(val){

   $.ajax(
    {
        type: "POST",
        url: myPhpFile.php,
        datatype: "jsonp",
        data: {val: val},
        success: function (result) {

            $("#jsonResultDisplay").text(result);

            $('.Result').bind('click', function() {
               alert('hi');
            }); 
        }
    });

}
于 2013-02-14T02:01:18.090 に答える