Pregunta

Estoy intentando cargar dinámicamente las opciones de un cuadro de selección en función de algunos criterios existentes en mi base de datos. La información útil es que hay 3 clases, una mascota, que tiene una raza y un tipo, una raza, que tiene un nombre y tipo, y tipo que es algo así como 'perro' o 'gato'.

Al editar una mascota, tengo dos desplegables poblados de Doctrine/Symfony2.

Type [Select One]
Breed [Select One]

Actualmente, la raza selecta enumera todas las razas de perros y gatos, me gustaría seleccionar el 'tipo' y tener ese cuadro selecto de raza para que solo enumere las razas basadas en ese tipo.

He hecho esto con PHP/JavaScript RAW antes de usar Symfony, pensé que hay algunas mejores prácticas para manejarlo en Symfony.

Cualquier consejo sería apreciado. Puedo proporcionar cualquier información adicional necesaria, pero quería mantenerla lo más simple posible.

¿Fue útil?

Solución

No encontré ninguna otra forma que a .Change jQuery en la primera selección, luego una llamada AJAX con la opción seleccionada para repoblar la selección de destino.

$('#Your_source_select').change(function()
{
    $.ajax({
    type: 'POST',
    url: Routing.generate('AJAXDevisOnduleurOptions', { onduleurId: $('#Your_source_select').val() }),
    success: function(msg){
        $('#Your_target_select').children().remove().end().append(msg);
    }
});
});

Tenga en cuenta que su_source/target_select son campos de entidad. Pero parece que tienes esa parte.

Es posible que desee usar fosjsroutingbundle => https://github.com/friendsofsymfony/fosjsroutingbundleLe permite construir una ruta en su JavaScript usando sintaxis de ramita. Entonces le permite acceder a sus variables.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top