CodePaste Logo
New Snippet New Snippet Recent Snippets Recent Snippets My Snippets My Snippets Web Code Search Snippets Search
Sign inor Register
Language: C#

jQuery Autocomplete: extra request params and extra autocomplete data

501 Views
Copy Code Show/Hide Line Numbers
// Controller Action
        public JsonResult SearchItem(string nature, string term)
        {
            IEnumerable<Item> list = null;
 
            Transactional(() =>
                              {
                                  switch (nature.ToLowerInvariant())
                                  {
                                      case "ricambi":
                                          list = _itemService.FindSpareParts(term);
                                          break;
                                  }
                              });
 
            return Json(
                from i in list
                select new
                           {
                               id = i.Id,
                               value = i.Id,
                               label = string.Format("{0} - {1}", i.Id, i.Description),
                               description = i.Description // additional data
                           }
                , JsonRequestBehavior.AllowGet
            );
        }
 
 
// js
            $('#Item').autocomplete({
                source: function(request, response) {
                    var url = '<%= Url.Action("SearchItem", "Sdk") %>';
                    // extra param
                    request.nature = 'Ricambi';
                    $.getJSON(url, request, response);
                },
                minLength: 2,
                select: function(event, ui) {
                    console.log(ui);
                    $('#Description').val(ui.item ? ui.item.description : '');
                }
            });
by andreabalducci
  March 29, 2010 @ 2:42am
Tags:

Add a comment


Report Abuse
brought to you by:
West Wind Techologies



If you find this site useful and use it frequently please consider making a donation to support this free service.
Donate