私はいくつかの問題を抱えています、
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
}
});
しかし、それは機能していません。何か不足していますか?なにか提案を?
ありがとうございました。