0

私はいくつかの問題を抱えています、

JSON 配列からデータを使用する検索ボックスを作成します。ユーザーがボタンをクリックすると、この検索ボックスは正常に機能しますが、Enter キーを押すと、機能が機能しません。

クリックボタンの構文は次のとおりです

   $("#btnsearch").click(function() {
        $("#divContent").hide("slow");
        $("#posting").html("");
        //show the div section
        $("#divContent").show("slow", function(){
            $("#divPage").hide("slow");       
            //getting value from searchbox
            valobj = $('#search_box').val();
            if(valobj == ""){
                $("#posting").append("Please Insert Keyword to Search!");
            } else {
            //execute data from database.
            $.getJSON("stitle.php", { title : valobj }, function(data,result){
                //show result from database
                if(data.content == ""){
                    $("#posting").append("Sorry, your search result is not found!");
                } else {
                    $.each(data.content, function(index, value) {
                        var li = $("<li><h3></h3><p></p></li>");
                        $("#posting").append(li);
                        $("h3",li).html("<a href='post.php?id="+ value.id +"'>" + value.title + "</a>");
                        $("p",li).text(value.intro_text);           
                    });

                    $(function(){
                        $("div.holder").jPages({
                            containerID : "posting",
                            perPage: 5
                        });
                        $(".holder").show();
                    });
                }   //end if 
            }, 'JSON'); //end show result
          } // show result if keyword is present 
        }); //end show div section
        $("#leftregion").hide();
        $("#rightregion").hide();
    }); //end click function

ユーザーがEnterキーを押したときに実行されるこのメソッドを作成したいと思います。jquery は keypressed メソッドを使用する必要があることを読みました。

    $(document).on("keypress", "#search_box", function(e) {
        var valobj = this.value;
        if(e.which == 13){
            $("#divContent").show("slow");
            $("#posting").html("");   
             if(valobj == ""){
                $("#posting").append("Please Insert Keyword to Search!");
            } else {
                //do the same function like code above 
                $.getJSON("stitle.php", { title : valobj }, function(data.......
            }
        }
    });

しかし、この方法は機能していません。何か提案はありますか?

ありがとうございました。

アップデート

コードをこれに変更します

 $("#search_box").keypress(function(e) {
        valobj = $('#search_box').val();
        if(e.which == 13){
            $("#divContent").show("slow",function(){
            $("#posting").html("");   
            if(valobj == ""){
                $("#posting").append("Please Insert Keyword to Search!");
            } else {
                //do the same function like code above 
               $.getJSON("stitle.php", { title : valobj }, function(data,result){

                   $.each(data.content, function(index, value) {
                        var li = $("<li><h3></h3><p></p></li>");
                        $("#posting").append(li);
                        $("h3",li).html("<a href='post.php?id="+ value.id +"'>" + value.title + "</a>");
                        $("p",li).text(value.intro_text);           
                    });

                    $(function(){
                        $("div.holder").jPages({
                            containerID : "posting",
                            perPage: 5
                        });
                        $(".holder").show();
                    });
               }, 'JSON'); //end get JSON function
            }
         }); //end show function
       }
    });

しかし、それは機能していません。何か不足していますか?なにか提案を?

ありがとうございました。

4

1 に答える 1