Hola:
Tengo un formulario de registro de una aplicación en Symfony que cuando tu seleccionas la provincia te rellena el select de ciudades con las ciudades de esa provincia.
Aqui os dejo el codigo de que rellena las ciudades:
<script>
$("#fos_user_registration_form_state").change(function () {
$('#alertCities').show();
var state = $("#fos_user_registration_form_state").val();
var url = '{{ path('ajaxCitiesList',{'state':'stateValue'}) }}';
url = url.replace("stateValue", state);
$.get( url, function( cities ) {
$('#fos_user_registration_form_city').empty();
for ( var i = 0 ; i <= cities.length; i++ ) {
$("#fos_user_registration_form_city").append(
$('<option>', {
value: cities[i].id,
text : cities[i].name
}));
}
$('#alertCities').hide();
});
});
</script>
y esta es la acción que genera el listado:
/**
* @Route("ajax-update-cities-list-{state}" , name="ajaxCitiesList" )
*/
public function ajaxCitiesListAction($state)
{
$em = $this->getDoctrine()->getManager();
$cities = $em->getRepository('CerooneAppBundle:Cities')->findByState($state);
return new JsonResponse($this->get('jms_serializer')->toArray($cities));
}
La cuestion es que en Firefox me funciona, pero en Chrome, la primera vez que hago la consulta se queda bloqueado demasiado tiempo, pero las otras veces ya funciona bien. En las versiones moviles tanto con Firefox como con Chrome, se queda bloqueado.
Os dejo el enlace del formulario para que podais probar: