无法从Ajax搜索中获取价值

时间:2015-03-16 06:29:45

标签: php jquery ajax

当我在表单字段中输入一些值时,我得到了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();
});

});

1 个答案:

答案 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);
相关问题