Wie kann ich mit jQuery Elemente mit einem auswählen? (Punkt) in ihrer ID?

Gab die folgenden Klassen und Controller-Aktionsmethoden:

public School
{
  public Int32 ID { get; set; }
  publig String Name { get; set; }
  public Address Address { get; set; }
}

public class Address
{
  public string Street1 { get; set; }
  public string City { get; set; }
  public String ZipCode { get; set; }
  public String State { get; set; }
  public String Country { get; set; }
}

[Authorize(Roles = "SchoolEditor")]
[AcceptVerbs(HttpVerbs.Post)]
public SchoolResponse Edit(Int32 id, FormCollection form)
{
  School school = GetSchoolFromRepository(id);

  UpdateModel(school, form);

  return new SchoolResponse() { School = school };
}

Und das folgende Formular:

<form method="post">
  School: <%= Html.TextBox("Name") %><br />
  Street: <%= Html.TextBox("Address.Street") %><br />
  City:  <%= Html.TextBox("Address.City") %><br />
  Zip Code: <%= Html.TextBox("Address.ZipCode") %><br />
  Sate: <select id="Address.State"></select><br />
  Country: <select id="Address.Country"></select><br />
</form>

Ich kann sowohl die Schulinstanz als auch das Adressmitglied der Schule aktualisieren. Das ist ganz nett! Vielen Dank an das ASP.NET MVC-Team!

Wie verwende ich jQuery, um die Dropdown-Liste auszuwählen, damit ich sie vorab ausfüllen kann? Mir ist klar, dass ich diese serverseitige Aktion ausführen könnte, aber auf der Seite werden andere dynamische Elemente vorhanden sein, die sich auf die Liste auswirken.

Das Folgende ist, was ich bisher habe, und es funktioniert nicht, da die Selektoren nicht mit den IDs übereinzustimmen scheinen:

$(function() {
  $.getJSON("/Location/GetCountryList", null, function(data) {
    $("#Address.Country").fillSelect(data);
  });
  $("#Address.Country").change(function() {
    $.getJSON("/Location/GetRegionsForCountry", { country: $(this).val() }, function(data) {
      $("#Address.State").fillSelect(data);
    });
  });
});

Antworten auf die Frage(16)

Ihre Antwort auf die Frage