我正在使用http://blog.ninetofive.me/blog/build-a-live-search-with-ajax-php-and-mysql/
处的搜索功能我在mac上运行firefox和safari,但其他浏览器都不会显示实时结果。我想知道它是否与我的jQuery选择器有关。以下是脚本的代码:
jQuery(document).ready(function() {
jQuery('div.icon').click(function(){
jQuery('input#ajsearch').focus();
});
jQuery("input#ajsearch").live("keyup", function(e) {
// Set Search String
var search_string = jQuery(this).val();
// Do Search
if(search_string !== ''){
jQuery.ajax({
type: "POST",
url: "searchtest.php",
data: { query: search_string },
cache: false,
success: function(html){
jQuery("ul#results").html(html);
}
});
}return false;
});
// On Search Submit and Get Results
function search() {
var query_value = jQuery('input#ajsearch').val();
jQuery('b#ajsearch-string').html(query_value);
if(query_value !== ''){
jQuery.ajax({
type: "POST",
url: "searchtest.php",
data: { query: query_value },
cache: false,
success: function(html){
jQuery("ul#results").html(html);
}
});
}return false;
}
jQuery("input#ajsearch").live("keyup", function(e) {
// Set Timeout
clearTimeout(jQuery.data(this, 'timer'));
// Set Search String
var search_string = jQuery(this).val();
// Do Search
if (search_string == '') {
// Do nothing
}else{
jQuery(this).data('timer', setTimeout(search, 100));
};
});
jQuery("input#ajsearch").live("keyup", function(e) {
// Set Timeout
clearTimeout(jQuery.data(this, 'timer'));
// Set Search String
var search_string = jQuery(this).val();
// Do Search
if (search_string == '') {
jQuery("ul#results").fadeOut();
jQuery('h4#results-text').fadeOut();
}else{
jQuery("ul#results").fadeIn();
jQuery('h4#results-text').fadeIn();
jQuery(this).data('timer', setTimeout(search, 100));
};
});
});
和html应该将实时信息发布到:
<input id="ajsearch" type="text" autocomplete="off">
<!-- Show Results -->
<h4 id="results-text">
Showing results for:
<b id="search-string">Array</b>
</h4>
<ul id="results"></ul>
当我运行fiddler进行调试时,我在所有浏览器中都收到请求/响应,但它们并不都显示实时信息。任何帮助或建议将非常感谢!
更新:
我的其他搜索有以下html,
<!-- Main Input -->
<form name="search" method="GET" action="/index.php/search" >
<input placeholder="Search" type="text" id="ajsearch" autocomplete="off" class="widget-search" name="find">
<input type="hidden" name="search" value="" />
</form>
<!-- Show Results -->
<ul id="results" style="display: block;"><div class="icon"></div></ul>