I can not implement a search with a drop-down list for all data in the table, I need help in solving this problem. Now gives a list, only with the field manager. If I drive a company, I’m also listed in the list, also a manager from this company. It turns out the main field manager?
The controller looks like this.
public ActionResult AutocompleteSearch(string term) { var a_suppliers = db.Ue_suppliers.Where( a => a.ShortName.Contains(term) || a.Manager.Contains(term) || a.Name.Contains(term) || a.PhoneManager.Contains(term) || a.Phone.Contains(term) ).ToList().Select( a => new { value = a.Manager, a.Name, a.ShortName, a.PhoneManager, a.Phone } ).Distinct(); return Json(a_suppliers, JsonRequestBehavior.AllowGet); }
Here is the view.
<div class="row" style="padding-top:1em"> @Html.Partial("_LeftMenuUchet") <div class="col-lg-9 col-md-9 col-sm-8" role="main"> <div class="bs-docs-section"> <h1 class="page-header">Поставщики</h1> <div class="row"> @using (Ajax.BeginForm("Ue_Suppliers_Search", new AjaxOptions { UpdateTargetId = "results" })) { <div class="col-sm-8"> <div class="input-group" style="display:flex !important"> <input type="text" name="name" data-autocomplete-source="@Url.Action("AutocompleteSearch", "Uchet")" class="form-control" placeholder="Поиск по поставщикам" /> <span class="input-group-btn"> <button class="btn btn-default" type="submit">Искать</button> </span> </div> </div> } <div class="pull-right col-lg-1"> <a class="btn btn-success" data-modal="" href="/Uchet/Create_Ue_Suppliers" id="btnCreate"> <span class="glyphicon glyphicon-plus"></span> </a> </div> </div> <div class="row" style="margin-top:2em" > <div class='contacts' id="results"> @Html.Partial("_Suppliers_Content") </div> </div> </div> </div> </div> <!-- modal placeholder--> <div id='myModal' class='modal fade in'> <div class="modal-dialog"> <div class="modal-content"> <div id='myModalContent'></div> </div> </div> </div> @section scripts{ @Scripts.Render("~/scripts/Appjs/UeType.js") <script> $(function () { $("[data-autocomplete-source]").each(function () { var target = $(this); target.autocomplete({ source: target.attr("data-autocomplete-source") }); }); }); </script> }
I need that when dialing a number, a number would fall out, when dialing the company name, the company name would drop out and so on. but now it works, only by managers.