2012-04-12 3 views
0

Ich mache eine Anwendung in MVC3 wo ich viele Dropdowns habe Jetzt auf der Grundlage von Wert im ersten DropDown das zweite Drodown ausgewählt ist ausgefüllt. Ich muss Ajax dafür schreiben und es fällt mir schwer es zu tun.Ajax Funktion zum Abrufen des ausgewählten Wertes aus dem Dropdown und Übergeben dieses Wertes an eine Funktion in Controller

Ich habe mein erstes Drop-Down "Select Course" und nun was auch immer ausgewählt ist Mit Hilfe dieser Course Id wird der entsprechende Status aus der Datenbank ausgewählt.

Für zB wenn der Kurs "MCA" ist, muss das Status-Dropdown-Menü mit Zuständen wie Maharashtra, Rajasthan und bald gefüllt werden.

habe ich versucht, den folgenden Code für Ajax, aber es funktioniert nicht und gibt mir einen Fehler

$("#Course").change(function() { 
     var Courseid = $("#Course").val(); 
     var urlCourselocation = '@Url.Action("FetchstatebyCourse")'; 
     $.ajax({ 
      type: "POST", 
      url: urlCourselocation, 
      data: { id: Courseid }, 
      success: function (data) { 
          $('#State').empty(); 
          $('#State') 
         .append($('<option>', { value: "0" }) 
         .text("-- Select State --")); 
        $.each(returndata, function (key, value) { 

        $('#State') 
         .append($('<option>', { value: value.Value }) 
         .text(value.Text)); 
       }); 
       } 
     }); 
    }); 

und im Controller habe ich die folgende Funktion geschrieben:

public ActionResult FetchHobbyDetailByHobbyId(int Id) 
    { 
     LearnerService learnerservice = new LearnerService(); 
     /* Here is some Code to fetch the state id from the database*/ 
     ICollection<ProvincialState> state = learnerservice.FetchStateByStateid(stateid); 
     ViewBag.State = state; 

     if (HttpContext.Request.IsAjaxRequest()) 
      return Json(new SelectList(
          state, 
          "ProvincialStateID", 
          "ProvincialStateName")); 
     return View(); 
    } 

Bitte helfen Sie mir mit der Kodex und korrigiert mich wenn ich falsch bin ..

+0

sein Was war der Fehler und war es auf der Server-Seite oder Client-Seite? –

+0

@GregB hey tut mir leid, es gibt mir keinen Fehler, aber wenn ich Course wähle fügt es nichts in State Dropdown abgesehen davon: "- Select State ---" – user1274646

+0

Wenn Sie Firebug installiert haben, würde ich auf die Post Antwort und schauen sehen Sie, welche Art von Daten Sie zurück erhalten (wahrscheinlich leer). Außerdem denke ich, dass Sie vielleicht nur JSON (State) zurückgeben und sehen möchten, was es Ihnen gibt. Geh auch durch den serverseitigen Code und stelle sicher, dass es etwas zurückgibt. –

Antwort

0

Oh, ich glaube, ich das Problem sah ... sollte nicht:

$.each(returndata, function (key, value) { 

$.each(data, function (key, value) { 
+0

hey danke eine Tonne in der Tat war es dummer Fehler ... jetzt funktioniert es !! – user1274646

Verwandte Themen