1

我想创建一个像谷歌搜索文本框这样的文本框......

我尝试过的是,当输入一个字符时,使用 AJAX 以该单词开头的单词将显示在一个 div 中,它工作正常,但我希望它应该像谷歌搜索框一样工作。现在箭头键不能只工作单击文本将被选中

我的代码

<style>
#resultDiv {
width:154px;
position:absolute;
left:121px;
top:30px;
}

p {
padding:0px;
margin:0px;
}
#resultDiv p:hover {
background-color:#999;
}
</style>
<script type="text/javascript">
$(document).ready(function(e) {
$('#resultDiv p').live('click',function(){
    var value = $(this).text();
    $('#word').val(value);
});
});
</script>

</head>

<body>
<form action="" method="post">
<label>Enter Your Word </label><input type="text" id="word"/>
<div id="resultDiv"></div>
</form>

<script>
// prepare the form when the DOM is ready 
$(document).ready(function() { 
$('#word').keyup(function(e) {
$.ajax({
        type: "POST",
        url: "googleDropSearch.php",
        data: "word="+this.value,
        success: function(msg){
            $('#resultDiv').html(msg);
            $('#resultDiv').css('border-left','1px solid #ccc').css('border-right','1px solid #ccc').css('border-bottom','1px solid #ccc');
        }
    });
});
});

</script>

</body>
</html>

行动页面

<?php
$connection = mysql_connect('localhost','root','') or die("ERROR".mysql_error());
$connection = mysql_select_db('ajax',$connection) or die("ERROR".mysql_error());

if(!empty($_POST)):
if(isset($_POST['word']) && $_POST['word'] != ''):
/****************
Sanitize the data
***************/
$key =$_POST['word'];
$query = mysql_query("SELECT county FROM fl_counties WHERE county LIKE '$key%';");

 $rows = mysql_num_rows($query);
 if($rows != 0):
while($result = mysql_fetch_array($query)):

echo "<p>".$result[0]."</p>";
endwhile;
endif;//rows > 0


endif;//county not sent

endif;


?>
4

1 回答 1

3

jquery 中有一个有用的插件。

jQuery自动完成

有一个简单的演示可用,您只需将数组传递给它。

希望这对你有用。

于 2012-07-11T10:10:08.620 回答