BUeno, sucede que estoy trabajando en un sitio web el cual tiene una pagina de registro donde entergo al usuario un combo con los paises para que seleccione su pais de origen. El combo lo estoy llenando desde la base de datos conectandome con BlazeDS.
Tengo ademas un segundo combo que se llena con las ciudades dependiendo de los paises, la relacion en la base de datos esta bien hecha, ha sido probada muchas veces, tanto desde JPA como desde la misma Base de datos. Quiero que cuando el usuario seleccione algun pais, en el siguiente combo se me carguen las ciudaddes correspondientes al pais seleccionado. Para ellos es obvio que debere tomar la llave primaria del pais y traer las ciudades con esa llave respecto a la relacion que tengo en la base de datos, sin embargo no se como almacenar por debajo de la vista del usuario el id.... en html, seria algo como:
<select>
<option value="IdPais">
Colombia
</option>
</select>
Quisiera saber de que forma puedo almacenar el IdPais que viene de la base de datos en el combo.
A continuacion esta el codigo en cuestion:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.events.FlexEvent;
import mx.rpc.events.FaultEvent;
import mx.rpc.events.ResultEvent;
import spark.events.IndexChangeEvent;
protected function java_faultHandler(event:FaultEvent):void
{
cursorManager.removeBusyCursor();
}
private function result(e:ResultEvent):void{
Alert.show(e.result.toString());
jpa2.cargarPaisV();
}
protected function dg_creationCompleteHandler(event:FlexEvent):void
{
jpa2.addEventListener(FaultEvent.FAULT, java_faultHandler);
jpa2.addEventListener(ResultEvent.RESULT, cargarDg);
jpa2.cargarPaisV();
}
private function cargarDg(e:ResultEvent):void{
var d:ArrayCollection = e.result as ArrayCollection;
dg.dataProvider = d;
cmb.dataProvider = d;
cmb0.dataProvider = d;
}
protected function cmb_changeHandler(event:IndexChangeEvent):void
{
t1.text = cmb.selectedItem.paisNombre.toString();
}
]]>
</fx:Script>
<fx:Declarations>
<s:RemoteObject id="java" destination="JAVA"
showBusyCursor="true"
fault="java_faultHandler(event)"
/>
<s:RemoteObject id="jpaingreso" destination="jpa" showBusyCursor="true"
fault="java_faultHandler(event)"
/>
<s:RemoteObject id="jpa2" destination="jpa2" showBusyCursor="true"
fault="java_faultHandler(event)"
/>
</fx:Declarations>
<s:TextInput x="10" y="10" id="t1"/>
<s:Button x="146" y="10" label="Button" click="button1_clickHandler(event)"/>
<mx:DataGrid x="10" y="39" id="dg" creationComplete="dg_creationCompleteHandler(event)">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="idPais"/>
<mx:DataGridColumn headerText="Column 2" dataField="paisNombre"/>
</mx:columns>
</mx:DataGrid>
<s:ComboBox x="249" y="39" id="cmb" name="bcbcv" labelField="paisNombre" change="cmb_changeHandler(event)"/>
<s:ComboBox x="249" y="88" id="cmb0" name="bcbcv" labelField="idPais"/>
<s:TextInput x="253" y="134" id="t0"/>
</s:Application>
ESTARE SUPREMAMENTE AGRADECIDO A QUIEN PUEDA AYUDARME YA QUE ES UN PROYECTO PARA MI GRADO Y ES BASTANTE URGENTE...
Hasta pronto
