2016-11-21 4 views
0

米国の州のドロップダウンリストがあります。ユーザーが州を選択すると、郡/パリッシュの別のドロップダウンリストが入力されます。私はストアドプロシージャから郡のドロップダウンを埋めるために情報を引き出しています。私が持っている問題は、それが各郡のObject Objectを返すことであり、これを修正するために何をすべきかわからないということです。ここ JQuery AJAXを使用したMVCカスケードドロップダウン

public ActionResult FillCountyList(string State) 
{ 
    Models.CountyList mod = new CountyList(); 
    mod.TheState = State; 
    List<ListCountiesByState_Result> Counties = mod.ListCounties(); 
    return Json(Counties, JsonRequestBehavior.AllowGet); 
}  

は、私も私のコントローラでは、以下を試してみましたが、コントローラ内のコードで、それはまた、各郡ここ

public JsonResult FillCountyList(string State) 
{ 
    IEnumerable<SelectListItem> Counties = db.ListCountiesByState(State).Select(c => new SelectListItem { 
      Value = c.County, 
      Text = c.County 
    }).ToList(); 
    return Json(Counties, JsonRequestBehavior.AllowGet); 
} 

のオブジェクトオブジェクトを示すリストを返します。ビュー内のjqueryコード

$('#State').change(function() { 
    var stateid = $('#State').val(); 
    $.ajax({ 
     url: '/Profile/BackgroundData/FillCountyList', 
     type: 'GET', 
     datatype: 'JSON', 
     data: { State: stateid }, 
     success: function (result) { 
      $('#CountyOrParrish').html(''); 
      $('#CountyOrParrish').append($('<option>Make Selection</option>')); 
      $.each(result, function (i, item) { 
       $('#CountyOrParrish').append($('<option></option>').text(item)); 
      }); 
     } 
    }); 
}); 

答えて

0

メソッドが国を正しく返すかどうかを確認します。また、変更:

$('<option></option>').text(item)); 

へ:

$('<option></option>').val(item.Value).html(item.Text)); 
+0

私はすでにそれを試みました。それでも各オブジェクトのObjectオブジェクトを返します –

+0

'FillCountyList'メソッドが正しく返ることを確認しましたか? – Hadee

+0

OKコントローラの2番目の例を試してみましたが、これはうまくいきます!!ありがとう –

0

javascrで郡のプロパティにアクセスできます私はちょうど "。"区切り記号は、結果の各項目がjsonオブジェクトであるためです。

$.each(result, function (i, item) { 
      $('#CountyOrParrish').append($('<option></option>').text(item.CountyName)); 
     }); 
+0

私はそれが動作するはずです知っているが、それは次のメッセージ「インテリセンスはこの式の正確な補完リストを決定することができませんでしたが返されます提供されたリストは、中にすべての識別子が含まれています。ファイル。"そしてそのページには、テキストの空の文字列だけが表示されます。 –

関連する問題