无法从 Ajax 搜索中获取值


Can't take value from Ajax search

当我在表单字段中输入一些值时,我得到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()"函数,但没有帮助。

实际上,这部分应该工作 $('#searchid').val($decoded);

但是 $decoded 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();
});

});

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);