javascript - validar - Cómo modificar el valor ingresado en el filtro de cadena
validacion de formularios con javascript ejemplos (1)
Tengo un filtro de cadena para 3 columnas en mi cuadrícula. Esto está funcionando bien. En la tercera columna, cuyo índice de datos es abc
, quiero modificar el valor ingresado.
Por ejemplo, si presiono 0, se filtraron todos los datos que tienen 0. Quiero presionar ''No'' en lugar de 0 para filtrar. Del mismo modo, quiero usar ''Sí'' en lugar de 1 para filtrar los datos con 1.
Mi código para crear filtro.
this.filters = new Ext.ux.grid.GridFilters({
filters: this.filter,
local: true,
autoReload: false,
});
this.features = [this.filters];
this.plugins = [this.filters];
Código para insertar filtro
gridEl.filter.push({
type: header.getAttribute("FILTER"),
dataIndex: header.getAttribute("DATAINDEX"),
encode: false,
metaID: header.getAttribute("M"),
});
Gracias por la ayuda.
Según su ejemplo docs.sencha.com/extjs/4.2.0/extjs-build/examples/grid-filtering/… Cree su propio BooleanFilter y agregue su condición. Ver mi fragmento a continuación.
Ext.define(''MyFilter.CustomBooleanFilter'', {
extend: ''Ext.ux.grid.filter.StringFilter'',
alias: ''gridfilter.customboolean'',
validateRecord : function (record) {
var rValue = record.get(this.dataIndex),
fValue = this.getValue();
return rValue == fValue || rValue == (fValue == "1" || "true".indexOf(fValue.toLowerCase()) == 0 || "yes".indexOf(fValue.toLowerCase()) == 0);
}
});
Vea la demostración de trabajo aquí. https://fiddle.sencha.com/#fiddle/1f5l
Avísame si no estás buscando esto. Lo hice según lo que mi entendimiento es EDITAR: Pero creo que si esto es lo que quiere, entonces use el Filtro booleano para cambiar el texto que desee. Me gusta Sí y No. Es más conveniente para el usuario que ingresarlo. Como solo tiene dos valores.