0

をかみそりするためにjqueryのオートコンプリートの項目を設定する私は自分のアプリケーションでjQueryのオートコンプリートを使用しますが、私はオートコンプリートの項目をクリックして処理する方法に満足していない:どのようにActionLinkのヘルパー

$(function() { 
     $("input#autocomplete").autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        url: '@Url.Action("Search", "Navigation")', type: "POST", dataType: "json", 
        data: { searchTerm: request.term, maxResults: 10 }, 
        success: function (data) { 
         response($.map(data, function (item) { 
          return { label: item.Name, 
           value: item.CityId 
          } 
         })) 
        } 
       }) 
      }, 
      select: function (event, ui) {     
       window.location.href = '@Url.Action("Index", "Home")' + '/' + ui.item.value; 
      } 
     }); 
    }); 

これは動作しますが、時々、このdoesnの仕事はありません。
商品には@Html.ActionLink...を追加する方法はありますか?

+1

を試してみてください? – ShankarSangoli

+0

私はこのようなオートコンプリートを使用しているために起こるのかどうかはわかりません。たとえば、URL「http:// localhost/CityPage/1」にあり、自動完成URLから項目をクリックすると「http:// localhost/CityPage/1/3」になります。これは有効なURLではないため、エラーが発生します。 – 1110

答えて

3

は時間にその時は何であるこの

function onItemSelect(item){ 
    var siteRootUrl = '@Url.Content("~/")'; 
    window.location.href = siteRootUrl + 'controller/action/' + item; 
} 

$(function() { 
     $("input#autocomplete").autocomplete({ 
      source: function (request, response) { 
       $.ajax({ 
        url: '@Url.Action("Search", "Navigation")', type: "POST", dataType: "json", 
        data: { searchTerm: request.term, maxResults: 10 }, 
        success: function (data) { 
         response($.map(data, function (item) { 
          return { label: item.Name, 
           value: item.CityId 
          } 
         })) 
        } 
       }) 
      }, 
      select: function (event, ui) {     
       onItemSelect(ui.item.value); 
      } 
     }); 
}); 
+0

愚かな私:)ありがとう – 1110

関連する問題