JQuery, JSON, Spring MVC - Dynamisch laden wählen Sie Optionen

Ich habe eine jsp-Formular wie dieses... Werte, die in der zweiten select-box, Zustand geladen werden soll, basierend auf dem Wert in der ersten select-box (Land). Ich bin mit AJAX, JSON, Spring MVC zum abrufen von Ergebnissen.

index.jsp.....

<form:form name="myform" modelAttribute="search" action="POST">
    <form:input path="firstName" class="text" />
    <form:input path="lastName" class="text" />
    <form:select path="country" id="country">
         <form:option value="" label="--Choose A Value--"></form:option>
         <form:options items="${countryList}" itemValue="id"   itemLabel="name"></form:options>
     </form:select>
        <form:select path="state" onchange="javascript:itemFocus('submit');" id="state">
          <form:option value="" label="--Choose A Value--"></form:option>
          <form:options items="${stateList}" itemValue="id" itemLabel="description"></form:options>
     </form:select>
     <form:checkboxes items="${skillsList}" path="skills" itemLabel="description" itemValue="id" delimiter="<br>" />
      <form:checkboxes items="${languagesList}" path="languages" itemLabel="description" itemValue="id" delimiter="<br>" />

    </form:form>

controller....

   @RequestMapping(value="stateslist.html")
   public @ResponseBody List<State> sectionList(@ModelAttribute("search") SearchForm search, @RequestParam(value="countryId", required=true) String countryId, ModelMap modelMap){
    return stateService.getStates(countryId);
   }

JQuery-Teil....

   <script type="text/javascript" charset="utf-8">
     function getStates(){
        $.getJSON(
             "stateslist.html", 
             {countryId: $('#country').val()},
             function(data) {
                  var html = '';
                  var len = data.length;
                  for(var i=0; i<len; i++){
                       html += '<option value="' + data[i].id + '">' + data[i].name + '</option>';
                   }
                  $('#state').append(html);
             }
          );
 }

      $(document).ready(function() {
         $('#country').change(function()
          {   getStates();
          });
      });
</script>

Kann ich sehen form der debugger, dass der ajax-request wird immer eingereicht, um die Frühjahr-controller und tut es gibt eine Liste von Status-Objekte, die Felder wie id, name etc... Problem ist, dass der Staat wählen Sie die Optionen nicht ändern.. scheint zu sein, dass function(data){....} Teil nicht funktioniert..kann jemand mir helfen, wo mache ich hier falsch...

- - - - Update---

Habe ich entfernt alles, was von der callback-Funktion und hatte gerade thi..

function(data){alert("something");}

das gar nicht funktioniert..., dass meine call-nie erreicht, dass ein Teil...

InformationsquelleAutor RKodakandla | 2011-08-25
Schreibe einen Kommentar