2016-07-13 5 views
0

私はこのpluginを使用して、送信するフォーム内にオートコンプリートフィールドを作成します。私はフォームを送信するときを除いて、すべてokです。モデルのコントローラに渡されるフィールドはnullです。私は得たデータを返す方法を知らない。Typeaheadブートストラップはnullにモデル化するパラメータを渡します

私のコードのHTMLです:

@Html.TextBoxFor(m => m.Team, new { @type = "text", id = "team", Name = "query", @class = "form-control", placeHolder = "Team (Ej -> Barcelona)", autocomplete = "off" }) 

JSコード:

$('#team').typeahead({ 
      ajax: "/Home/AutocompleteTeam", 
      responseText: [ 
       $('#team').val()   
      ] 
     }); 

C#コード:

public ActionResult AutocompleteTeam(string query) 
    { 

     List<string> teams = new List<string>(); 
     List<TeamServiceModel> teamsService = teamService.ListTeamsByQuery(query); 
     foreach (var team in teamsService) 
     { 
      if(team.Name.Equals("DEFAULT")) 
      { 
       continue; 
      } 
      else 
      { 
       teams.Add(team.Name); 
      }    
     } 
     return Json(teams, JsonRequestBehavior.AllowGet); 
    } 

私は、クエリによるフィルタリングてるリストを返しているサービスは働いている。

答えて

0

Typeaheadは既に結果をフィルタリングしています。すべてのチームを取得して(配列を返す)ajaxを呼び出すことができます。また、配列の値を使って型仮説の 'local'フィールドを設定することもできます。

http://www.bootply.com/ljIOxm3qDi

+0

私の問題は、データがコントローラに返され、ここで多くを参照してください。 model.teamはnullですが、理由はわかりません。誰でも助けてくれますか? –

+0

Name = "Query"をName = "Team"に変更します。値がサーバー側へのポスト入力の場合は、name = "Team"にする必要があります –

+0

Oh my god!どのようなひどい間違い!本当にありがとうAlexandru! –

関連する問題