Struts 2を使用しています。コンボボックスにデータベースからのデータを入力(選択)しようとしています。値は別のコンボボックスによって定義されています。
最初のコンボボックスから状態を選択すると、2番目のコンボボックスはデータベースからデータをロードする必要があります。
これは私が持っているものです:
JSP:
<script type="text/javascript">
function cargarMunicipios(estado){
console.log(estado);
var estado="estado="+estado;
$.getJSON('getMunicipios'),estado,function(data){
$('.result').html(''+data.estados+'');
$.each(data.estados,function(index,value){
var opcion=new Option(value);
var municipio=document.getElementById("municipios");
console.log(value);
municipio.add(opcion)
})
}
}
</script>
...
<s:select list="estados" name="estados" listValue="nombre"
listKey="nombre" label="Estado" id="estados" onchange="cargarMunicipios(this.value)"/>
<s:select list="municipios" name="municipios" listValue="nombre"
listKey="nombre" label="Municipio" id="municipios"
/>
これはstruts.xmlでのアクションです:
<action name="getMunicipios" class="actions.PrepararMedicosAction" method="loadMunicipios">
<result type="json">
<param name="root">nombre</param>
</result>
</action>
これは、アクションによって呼び出されるメソッドです。
public String loadMunicipios(){
municipios=fachada.buscaMunicipios(new Estado(Integer.SIZE, estado, ""));
return SUCCESS;
}
ただし、2番目のドロップボックスにデータが入力されていない状態を選択すると、Webコンソールでhttpリクエストが「OK」として表示されます。
私はAjaxとStruts2で非常に新しいです。助けてください..ありがとう:)