Para los elementos de tipo desplegable podemos añadir un origen de datos. Este origen de datos nos va a permitir cargar, de forma sencilla, múltiples valores.

Para ello, en la venta de propiedades del desplegable, en la pestaña de "Opciones" tenemos que indicarle que "Sí" en la pregunta de "Configurar origen de datos". Una vez hecho esto, tendremos que apretar el botón de "Personalizar" para añadir la configuración del origen de datos.


Debemos llamar a la función resolve con un parámetro que tenga el formato especificado a continuación. 

  • id: "Valor del texto"
  • text: "Texto a visualizar"


Estructura de datos

 
 resolve({
    data: [{id: "op-1", text: "Opción-1"}, 
           {id: "op-2", text: "Opción-2"}, 
           {id: "op-n", text: "Opción-N"}]
 });

JS

Es importante que el método resolve se llame siempre. Esto es importante cuando es llamado dentro de peticiones AJAX, que pueden fallar porque el recurso no es accesible por ejemplo. Un ejemplo sería:

resolve(false)

var flickerAPI = "https://api.flickr.com/services/feeds/photos_public.gne?jsoncallback=?";
$.getJSON( flickerAPI, {
  tags: "mount rainier",
  tagmode: "any",
  format: "json"
})
.done(function( data ) {
  var parsedData = [];
  $.each( data.items, function( i, item ) {
    parsedData.push({ id: item.link, text: item.title});
  });
  resolve({data: parsedData});
}).error(function() {
  resolve(false);
});
JS

Recuperando un JSON de la API de Webforms

Webforms provee dentro de las utilidades un método que nos permite cargar un JSON desde la propia API de Webforms. Se debe llamar a la función wf.obtenerJSON(lista, resolve). Las listas se corresponden con el nombre del fichero JSON sin la extensión. Por defecto, tenemos los siguientes ficheros JSON cargados:

  • islas
  • países
  • provincias



Ejemplo de código para configurar un origen de datos


Ejemplo

wf.obtenerJSON("islas", resolve);

JS


Si quieres cargar otros ficheros JSON consulta con tu administrador. Tardará sólo un par de minutos en tenértelo listo.