2017-08-21 2 views
0

Ich versuche, eine zusätzliche perameter von Ajax zu passieren Action-Funktion an die Steuerung mit AJAX Code folgenden, wie mehrere Werte von Ajax Autocomplete-Methode zu übergeben

$('.search-box-text').autocomplete({ 

        delay: 500, 

        minLength: 3, 

        //CitySearchAutoComplete 

        @*source: '@(Url.RouteUrl("ProductSearchAutoComplete"))',*@ 

        source: '@(Url.RouteUrl("GetAllProductsName"))', 

        @*source: '@Url.Action("SearchTermAutoComplete", "Catelog")',*@ 

        //appendTo: '.search-box', 

        extraParams: { city: 'new' }, 

        select: function(event, ui) { 

         $('.search-box-text').val(ui.item.label); 

         return false; 
        } 

       }); 

und Prototyp iss Controller-Aktion als

public ActionResult GetAllProductsName(string term,string city) 
folgt

in Controller Aktionsterm Parameter wird wie erwartet empfangen, aber Stadtparameter erhält den Wert nicht wie erwartet. Kann irgendjemand mir bitte die Lösung für dieses Problem liefern.

Antwort

1

können Sie Ajax-Aufruf für die Quelle verwenden, wie here angegeben

$('.search-box-text').autocomplete({ 

     delay: 500, 
     minLength: 3, 

     source: function(request, response) 
     { 
      $.ajax({ 
       url: '@(Url.RouteUrl("GetAllProductsName"))', 
       data: { 
        term: 'myterm' 
        city: 'mycity', 

       }, 
       success: function(data) { 
        response(data); 
       } 
      }); 
     }, 

     select: function(event, ui) { 

      $('.search-box-text').val(ui.item.label); 

      return false; 
     } 

}); 
Verwandte Themen