我正在研究搜索功能,我做得很好,以获得我想要的结果。我有一个搜索文本字段,可以允许用户键入值,JavaScript将帮助我获取文本字段值的相关数据。现在,当我使用“Enter”按钮按下它时,我希望我的文本字段可以正常工作。按下“Enter”按钮后,它会将我重定向到一个新页面,该页面会在文本字段中显示关键字I键的所有相关数据。
这是我在HTML页面中的JavaScript和HTML代码:
<script>
$(document).ready(function() {
// Icon Click Focus
$('div.icon').click(function(){
$('input#search').focus();
});
// Live Search
// On Search Submit and Get Results
function search() {
var query_value = $('input#search').val();
$('b#search-string').html(query_value);
if(query_value !== ''){
$.ajax({
type: "POST",
url: "search.php",
data: { query: query_value },
cache: false,
success: function(html){
$("ul#results").html(html);
}
});
}return false;
}
$("input#search").live("keyup", function(e) {
// Set Timeout
clearTimeout($.data(this, 'timer'));
// Set Search String
var search_string = $(this).val();
// Do Search
if (search_string == '') {
$("ul#results").fadeOut();
$('h4#results-text').fadeOut();
}else{
$("ul#results").fadeIn();
$('h4#results-text').fadeIn();
$(this).data('timer', setTimeout(search, 0));
};
});
});
</script>
SEARCH<input type="text" id="search" autocomplete="off">
<ul id="results" style="display:none"></ul>
在文本内部的keyin值之后,JavaScript将调用search.php来获取所有相关数据。但我无法点击文本字段来显示所有值。希望你的家伙可以给我一个解决方案。谢谢你提前。
答案 0 :(得分:1)
尝试使用jQuery 1.8或最低版本。
$("input#search").live("keyup", function(e)
if(e.which == 13) {
//perform your operations
}
});
答案 1 :(得分:1)
您可以将其设为表单,以便在用户点击输入时提交。
<form method="get" action="search page.php" onsubmit="return validate();">
SEARCH<input type="text" id="search" autocomplete="off">
<ul id="results" style="display:none"></ul>
</form>
<script type="text/JavaScript">
function validate() {
//If the form value is "" (nothing)
if (document.getElementById("search").value == "") {
return false; //Stop the form from submitting
}
return true;
}
</script>