Click here to Skip to main content
15,860,972 members
Articles / Web Development / ASP.NET
Tip/Trick

Autosuggest using jQuery

Rate me:
Please Sign up or sign in to vote.
4.50/5 (3 votes)
7 Aug 2012CPOL 10.9K   10  
I first tried using Ajax autocomplete, but found jQuery as an alternate

Introduction  

Alternative for the article

http://www.codeproject.com/script/Articles/ArticleVersion.aspx?waid=29267&aid=435836&msg=4331629#xx4331629xx  

Ajax was one alternate, an alternate can be using jQuery

Background 

For using jQuery autosuggest we need the js file "jquery.ui.autocomplete.autoSelect.js". Refer this link for download and help http://docs.jquery.com/UI/Autocomplete.

Using the Code 

Once you have added the aotoselect.js for a textbox you will get a property named autocomplete

Add a textbox on which yo wish to apply autosuggest and write the script. My function  "GetAllSearchProducts" is getting all the products beginning with the letter typed in the textbox named "searchproduct"   

C#
<div>
            <input name="" type="text" class="txtF ui-autocomplete-input" id="searchproduct"
                align="absmiddle" /><input name="" type="button" class="btimg" align="absmiddle"
                    onclick="SearchProduct();" /></div>
<script type="text/javascript">
   $(function () {
        $("#searchproduct").autocomplete({
            source: function (request, response) {
                $.ajax({
                    url: "../Common/GetAllSearchProducts",
                    data: "{ 'name': '" + request.term + "' }",
                    dataType: "json",
                    type: "POST",
                    contentType: "application/json; charset=utf-8",
                    dataFilter: function (data) { return data; },
                    success: function (data) {
                        if (data != '') {
                            response($.map(data, function (item) {
                                return {
                                    value: item.Name,
                                    text: item.Id
                                };
                            }));
                        }                                                                            
                       
                    },
                    error: function (XMLHttpRequest, textStatus, errorThrown) {
                        // alert('@T("Alert.Symbol.Msg")');
                    }
                });
            },
            select: function (event, ui) {

                $(':hidden[id=hdnmedicineid]').val(ui.item.text.toString());
                $(':hidden[id=hdnmedicinenm]').val(ui.item.value.toString());

            },

            minLength: 1,
            autoFocus: true
        });

    });
                       

</script>

 

C#
public JsonResult GetAllSearchProducts(string name = "")
      {


          //get all products starting with the name provided
          var products = _productService.GetAllProducts(name).ToList();

          var result = from m in products
                      select new { m.Id, m.Name };

          return Json(result.ToList(), JsonRequestBehavior.AllowGet);
      }

Points of Interest

Found it simple and easy to use.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Program Manager Infobeans
India India
I have keen interest in learning new things, exploring more on a topic and being more versatile

Comments and Discussions

 
-- There are no messages in this forum --