j-Choose
El componente es una alternativa a CheckboxListExpert y RadioButtonListExpert.
Configuración:
- Límite de selección
limit {Number},1devolverá un valor,>1devolverá una matriz de valores (predeterminado:1) datasource {String}una ruta a la fuente de datos (predeterminado: vacío)required {Boolean}habilita la validación (predeterminado:false)key {String}un nombre de claveidentifierpara la fuente de datos (predeterminado:id)attr {String}adata-[attr]para almacenaridentifier(predeterminado:id)selector {String}un selector jQuery para elementos (predeterminado:.selection)class {String}clase seleccionada (predeterminado:selected)- Tipo de conversión
type {String}, admitestringonumber(predeterminado:string) uncheck {Boolean}permite desmarcar el valor seleccionado paralimit:1(predeterminado:false)disabled {Boolean}desactiva el componenteclick {String}un enlace alfunction(val)que se evalúa cuando el usuario cambia el valor- NUEVO:
indexer {String}un selector HTML para vincular el índice seleccionado
Úselo con <ui-component name="choose">. Cuando el componente aún no está cargado, jComponent lo descarga en el primer uso desde la dirección en DEF.fallback (el CDN Componentator de forma predeterminada). Autor: Peter Širka. Fuente: repositorio de componentes Componentator, licencia MIT.
<style>
.iconmenu { height: 60px; text-align: center; }
.iconmenu i { font-size: 20px; display: block; padding: 10px 0 0; }
.iconmenu span { font-size: 12px; display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 3px 5px 0; color: #777; }
.iconmenu > div.selected { background-color: rgba(0,0,0,0.07); }
.iconmenu > div { height: 60px; width: 75px; border: 1px solid #E0E0E0; border-left-width: 0; float: left; cursor: pointer; }
.iconmenu > div:first-child { border-left-width: 1px; border-top-left-radius: var(--radius); border-bottom-left-radius: var(--radius); }
.iconmenu > div:last-child { border-top-right-radius: var(--radius); border-bottom-right-radius: var(--radius); }
</style>
<ui-component name="choose" path="myselectionsingle" config="selector:div;limit:1" class="iconmenu m">
<div data-id="male">
<i class="ti ti-male"></i>
<span>Male</span>
</div>
<div data-id="female">
<i class="ti ti-female"></i>
<span>Female</span>
</div>
</ui-component>
<ui-component name="choose" path="myselectionmultiple" config="selector:div;limit:2;indexer:b" class="iconmenu m">
<div data-id="male">
<i class="ti ti-male"></i>
<span>Male</span><b></b>
</div>
<div data-id="female">
<i class="ti ti-female"></i>
<span>Female</span><b></b>
</div>
<div data-id="unknown">
<i class="ti ti-question-circle"></i>
<span>Unknown</span><b></b>
</div>
</ui-component>
<div>Output single: <code><ui-bind path="myselectionsingle" config="text:JSON.stringify(value)"></ui-bind></code></div>
<div>Output multiple: <code><ui-bind path="myselectionmultiple" config="text:JSON.stringify(value)"></ui-bind></code></div>