JQuery Cascade

De Dos Ideas.
Saltar a: navegación, buscar

JQuery Cascade es un plugin para la librería JavaScript JQuery que permite cargar datos vía ajax ante un evento y luego asignar los mismos a cualquier elemento. Su uso mas común es en un combo Html SELECT.

Ejemplo

Suponer el caso mas común en donde debo cargar un combo SELECT de acuerdo al valor elegido en otro. Por ejemplo se tiene un combo con el tipo de producto y en el otro aparecen los modelos de ese producto. Debemos indicarle el combo origen, el destino y la URL de donde obtener los datos.

<html>

   <head>
     <script type="text/javascript" src="/resources/jquery/jquery.js"></script>
     <script type="text/javascript" src="/resources/jquery/jquery.cascade.js"></script>
     <script type="text/javascript" src="/resources/jquery/jquery.cascade.ext.js"></script>
     <script type="text/javascript">
         function commonTemplate(item) {

return "<option value='" + item.Value + "'>" + item.Text + "</option>"; }; function commonTemplate2(item) { return "<option value='" + item.Value + "'>***" + item.Text + "***</option>"; }; function commonMatch(selectedValue) { return this.When == selectedValue; };

     </script>
     <style type="text/css">

.cascade-loading{ background: transparent url("indicator.gif") no-repeat center;

           }

</style>

   </head>
   <body>

Consulta Modelos

       <label>Productos

<select id="comboProductos"> <option value="A">Producto A</option> <option value="B">Producto B</option> <option value="C">Producto C</option> <option value="D">Producto D</option> </select> </label> <label>Modelos <select id="comboModelos"> </select> </label>

       <script type="text/javascript">

jQuery(document).ready(function() {

                  jQuery("#comboModelos").cascade("#comboProductos",{						

ajax: { url: '.../miServlet.do', data: { myotherdata: jQuery("#ajax_header").html() } }, template: commonTemplate, match: commonMatch }); }); </script>

   </body>

</html>

Si bien todo es con figurable, por defecto el formato del retorno de los datos debe ser del estilo: [{'When':'CODIGO','Value':'VALOR','Text':'DESCRIPCION'},{...},{...}]

El servlet que elijamos para buscar los datos, recibirá por parámetro con el nombre "val" el código del valor del combo elegido.