我目前正在处理 Ajax 搜索建议输入,我已经完成了它,但我只想在您选择建议以自动提交表单时制作这个脚本。
这是我的Javascript:
<script>
function suggest(inputString){
if(inputString.length == 0) {
$('#suggestions').fadeOut();
} else {
$.ajax({
url: "autosuggest.php",
data: 'act=autoSuggestUser&queryString='+inputString,
success: function(msg){
if(msg.length >0) {
$('#suggestions').fadeIn();
$('#searchBoxSuggestions').html(msg);
$('#country').removeClass('load');
}
}
});
}
}
function fill(thisValue) {
$('#keyword').val(thisValue);
setTimeout("$('#suggestions').fadeOut();", 600);
}
function fillId(thisValue) {
$('#country_id').val(thisValue);
setTimeout("$('suggestionsBox').fadeOut();", 600);
}
</script>
这是我的 HTML 表单:
<form method="get" action="search.php" autocomplete="on" name="form_search">
<input type="text" size="25" value="" id="keyword" name="keyword" onkeyup="suggest(this.value);" onblur="fill();fillId();" class="" />
<input type="hidden" name="country_id" id="country_id" value="" />
<input type="submit" value=" " id="searchbutton" />
<div class="suggestionsBox" id="suggestions" style="display: none;">
<div id="searchBoxSuggestions"> </div>
</div>
</form>
如果需要,还有 autosuggest.php:
<?php
if(isset($_REQUEST['act']) && $_REQUEST['act'] =='autoSuggestUser' && isset($_REQUEST['queryString'])) {
$db_host = 'localhost';
$db_user = 'root';
$db_password = 'mypass';
$db_name = 'mydb';
$connect = mysql_connect($db_host, $db_user ,$db_password);
$db = mysql_select_db($db_name,$connect);
mysql_query("SET NAMES utf8");
if($db){
$string = '';
$queryString = $_REQUEST['queryString'];
$query = "SELECT * FROM videos WHERE title like '%" .$queryString . "%' and approved='yes' ORDER BY title LIMIT 10";
$resource = mysql_query($query);
if($resource && mysql_num_rows($resource) > 0) {
$string.= '<ul>';
while($result = mysql_fetch_array($resource)){
$title= addslashes($result['title']);
$indexer= addslashes($result['indexer']);
$string.= '<li onClick="fillId(\''.$indexer.'\');fill(\''.$title.'\');"><b>'.$title.'</b></li>';
}
$string.= '</ul>';
} else {
$string.= '<li>No Record found</li>';
}
echo $string;
exit;
}
exit;
}
?>
现在使用此代码,当您在输入字段中键入名称keyword
时,它会为您提供以下带有标题的建议。
现在,当您单击任何建议的标题时,它会将该标题放入您正在输入的输入字段中,并且当您按下提交按钮时,它会触发搜索。
当您单击将标题放入输入中的标题时,我如何使此脚本自动提交表单?
提前致谢!