当我在表单字段中输入一些值时,我得到了ajax建议。 但是当我点击建议的某些价值时, 我不能在表单字段中设置它。
<form name="form_search" method="GET" action="" id='form-for-search'>
<input type='hidden' name='search_type' value='simple'>
<input type='text' name='q' size='30' class='search' id='searchid'>
<br />
<div id='result'></div>
<br>
<input type='submit' value='Search'> <br>
</form>
这是我的javascript / jquery代码。 我试图用“.on()”改变“.live()”函数,但它没有帮助。
在genully这部分应该工作$('#searchid')。val($ decoding);
但是$ decode var总是空的。
$(".search").keyup(function() {
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!=''){
$.ajax({
type: "POST",
url: "ajax/po_search.php",
data: {"search": searchid},
cache: false,
success: function(html){$("#result").html(html).show();}
});
}
return false;
});
jQuery("#result").on("click",function(e){
var $clicked = $(e.target);
var $name = $clicked.find('name');
var $decoded = $("<div/>").html($name).text();
$('#searchid').val($decoded);
jQuery(document).live("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
jQuery("#result").fadeOut();
}
});
$('#searchid').click(function(){
jQuery("#result").fadeIn();
});
});
答案 0 :(得分:0)
jQuery的:
$("#searchid").autocomplete({source: "ajax/po_search.php",minLength: 1});
po_search.php代码:
$q=$_GET['term'];
$query="SELECT DISTINCT NAME FROM tblpartners partners WHERE NAME LIKE '%".$q."%'";
$result =mysqli_query($connection,$query);
while($row=mysqli_fetch_array($result)){
$username=$row['NAME'];
$arr[]=$username;
}
echo json_encode($arr);