我有这段代码
var file = getUrlVars()["file"];
if(file){
document.getElementById('search').value = file;
}
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
它从url读取参数文件,然后将值放在搜索字段中。 搜索字段是ajax驱动的,当用户输入一个字母时,它开始搜索并输出结果。 问题是当脚本将值放入搜索字段时没有任何反应,我如何使搜索启动?
这是我的搜索字段
<input type="text" id="search" class='search_input' />
更新 我的Ajax搜索代码就是这个
// Search
$(document).ready(function()
{
$(".search_input").focus();
$(".search_input").keyup(function()
{
var search_input = $(this).val();
var keyword= encodeURIComponent(search_input);
var yt_url='http://domain.com/search.php?q='+keyword;
$.ajax({
type: "GET",
url: yt_url,
success: function(response)
{
$("#result").html('');
if(response.length)
{
$("#result").append(response);
}
else
{
$("#result").html("<div id='no'>No results</div>");
}
}
});
});
} );
答案 0 :(得分:1)
如果触发了启动AJAX功能的事件,则您的搜索只会“触发”。因此,您需要触发事件。我的猜测是事件必然要么:
- keyup
- click
- blur
您尚未发布相关代码,但这应该足以解决问题......
更新后
快速解决方案是在搜索字段上发起keyup
事件:
$(".search_input").keyup(function() { ... }).keyup();
或者,您可以重新考虑代码:
function searchlogic() { ... };
$(".search_input").keyup(searchlogic);
searchlogic();