Автозаполнение JQuery с ASP.Net - PullRequest
       19

Автозаполнение JQuery с ASP.Net

0 голосов
/ 21 октября 2011

Подскажите, пожалуйста, как получить значение выбранного элемента в выпадающем списке автозаполнения? Я могу заполнить данные, и я хочу получить значение выбранного элемента в одиночку. Ниже приведен фрагмент, который я использую.

 $(document).ready(function () {
$("#txtTest").autocomplete({ 
     source: function (request, response) {  
         $.ajax({  
             type: "POST",  
             contentType: "application/json; charset=utf-8", 
             url: "Webservice.asmx/GetNames",
             data: "{'prefix':'" + request.term + "'}",  
             dataType: "json",  
             async: true,  
             success: function (data){  
                response($.map(data, function(item)
                { return item ; }));  
            },  
            error: function (result) {  
               alert("Due to unexpected errors we were unable to load data");  
            }  
         });
     },  
     minLength:2
 });
 });

Спасибо

Ответы [ 2 ]

0 голосов
/ 21 октября 2011

Попробуйте это

$(document).ready(function () {



$("#txtTest")
            // don't navigate away from the field on tab when selecting an item
            .live("keydown", function (event) {
                if (event.keyCode === $.ui.keyCode.TAB &&
                        $(this).data("autocomplete").menu.active) {
                    event.preventDefault();
                }
            })
.autocomplete({ 
     source: function (request, response) {  
         $.ajax({  
             type: "POST",  
             contentType: "application/json; charset=utf-8", 
             url: "Webservice.asmx/GetNames",
             data: "{'prefix':'" + request.term + "'}",  
             dataType: "json",  
             async: true,  
             success: function (data){  
                response($.map(data, function(item)
                { return item ; }));  
            },  
            error: function (result) {  
               alert("Due to unexpected errors we were unable to load data");  
            }  
         });
     },  
     minLength:2
 });
 });

Вы можете выбрать элемент, нажав клавишу табуляции или выбрав элемент.

0 голосов
/ 21 октября 2011

Вот пример для этой ситуации.

Default.aspx

<script type="text/javascript">
$(document).ready(function() {
    $("input#<%=txtKelime.ClientID %>").autocomplete('Ara.aspx').result(function(event, item) {
        $("#<%=txtGizliAlan.ClientID %>").val(item.toString().split(",")[1]);
    });
});
</script>

<form runat="server" id="form1">
    <asp:textbox id="txtKelime" runat="server" />
    <asp:textbox id="txtGizliAlan" runat="server" style="display:none" />
</form>

search.aspx

protected void page_load(object sender, EventArgs e) {
string strKelime = Request.QueryString["q"];
DataTable dt = Database.GetDataTable("Select * from TableName where SearchString like '%" + SearchWord + "%'");
foreach (DataRow dr in dt.Rows)
{
Response.Write(dr["alanAdi"].ToString() + "|" + dr["id"].ToString() + Environment.NewLine);
}
}

И вы можете увидеть это демо. http://jquery.bassistance.de/autocomplete/demo/

...