İlk açılır menünüzün change
olayını dinlemeniz, seçilen değeri oku ve bu değer ile sunucuya bir ajax isteği yapması gerekiyor. Bu değeri kabul eden ve ikinci açılır menünüzün verilerini döndüren bir işlem yöntemine sahip ol. Ajax aramanızın geri çağrısında, geri gelen json verilerini okuyun, gözden geçirin ve ikinci açılır kutuyu doldurun.
formunuz 2 açılır listeler, CountryController
içinde GetStates
eylem yöntemini varsayarsak Devletleri
$(function(){
$("#Country").change(function(){
var countryId = $(this).val();
var url = "@Url.Action("GetStates,"Country")"+countryId;
$.getJSON(url,function(data){
var options="";
$.each(data,function(a,b){
options+="<option value='"+ b.Value +"'>" + b.Text + "</option>";
});
$("#State").html(options);
});
});
});
için Ülkeler için diğeri vardır varsayarsak Bir ülke Kimliği kabul eder ve (a Değer ve Metin özelliğiyle) öğelerin listesini döndürür devletler seçilen ülkeye aittir.
public ActionResult GetStates(int id)
{
var dummyStates = new List<SelectListItem>
{
new SelectListItem { Value="1", Text="Michigan"},
new SelectListItem { Value="2", Text="Florida"},
new SelectListItem { Value="3", Text="Seattle"}
};
return Json(dummyStates,JsonRequestBehaviour.AllowGet);
}