2010-03-12 18 views
6

Seçili bir tarihe göre açılır listeyi dolduran bir C# MVC uygulamasına sahibim. Tarih seçildiğinde, AJAX/jQuery aracılığıyla bir eyleme gönderirim. Eylem, bu tarih için geri dönecek öğeler listesini alır.GetList için MVC görünümüne Geting Get AJAX/jQuery

İşte benim sorunum burada. Daha önce, eylemden kısmi bir görünüm oluşturduğum ve bunu model olarak SelectList uygulamasından geçirdim. Ancak, ben gerçekten sadece orijinal görünümünde satır içi yapmak istiyorum, bu yüzden ben SelectList döndürmek ve orada bir açılanma koymak için bazı sihir Javascript/JQuery yapmak bir yolu var umuyoruz.

Daha önce hiç kimse bunu yaptı mı? Eğer öyleyse, SelectList 'i döndürmek için load()' i çağırdıktan sonra istemci tarafında ne yapabilirim?

Ben sadece bir dize veya başka bir değer dönerken düz metin olarak işlenecek, daha önce böyle bir şey yaptık

:

$("#returnTripRow").load("/Trip.aspx/GetTripsForGivenDate?date=" + escape(selection)); 

Ama verilerini yakalamak ve morph nasıl emin değilim Html.DropDown() çağrısı veya eşdeğeri.

Herhangi bir fikrin var mı?

sayesinde

Chris Açılan listede için veri besleyecek bir kontrolör eylemi var Supposing

cevap

17

:

public ActionResult Cars() 
{ 
    return Json(new[] { 
     new { id = "bmw", name = "BMW" }, 
     new { id = "mer", name = "Mercedes" }, 
     new { id = "aud", name = "Audi" } 
    }, JsonRequestBehavior.AllowGet); 
} 

Ve görünümünde:

$.getJSON('/home/cars', { }, function(cars) { 
    var list = $('select#cars'); 
    list.find('option').remove(); 
    $(cars).each(function(index, car) { 
     list.append('<option value="' + car.id + '">' + car.name + '</option>'); 
    }); 
}); 
+0

Güzel, Bu yaptı! Teşekkürler. – Chris

İlgili konular