techdoc:filtrovani_selectboxu
Filtrování select boxů
Pro filtrování select boxů v editoru lze využít funkce eso9.filterSelectBox které se na vstup předá objekt s parametry pro filtrování. objekt musí obsahovat tyto hodnoty
- form: Název formy nad kterou je voláno
- maticeFields: Pole se seznam nazvu selectboxu v pořadí, ve kterém jsou na sobě závislé [„select1“, „select2“, „select3“]
- matice: Pole hodnot matice závislostí. Rozměr je dany počtem filtrovaných polí [ [1,1,0], [1,1,1], [1,2,0],[1,2,3] ]….
- alwaysEnabled: Pole hodnot, které se nezakazuji. Pro příklad [„“, -1] hodnota neurčeno
- changedField: Název pole které vyvolalo akci.
Funkce by měla být volána při změně hodnoty selectboxu. To se dosáhne zapojením vlastní funkce pomocí „data-JSfunction“
příklad funkce ve stránce.
<script>
var par={};
//povolene kombinace hodnot select boxů
par.matice = [
[1,1,1,2],
[1,1,1,1],
[1,1,2,1],
[1,1,3,1],
[1,2,1,1],
[1,2,1,2],
[1,2,4,1],
[1,2,4,2],
[1,2,5,1],
[1,2,5,1]
];
//nazvy poli serazene dle zavislosti. pocet musi odpovidat poctu hodnot matice
par.maticeFields = ["MF_VLSEL1", "MF_VLSEL2", "MF_VLSEL3", "MF_VLSEL4"];
//nazev formy ve ktere jsou pole
par.form = "TEST";
//seznam hodnot, ktere se neskryvaji. Povětšínou hodnoty pro "neurčeno"
par.alwaysEnabled = ["", -1];
//funkce zapojena do všech selectboxů. pomocí data-JSfunction=":filterSelectBox"
var filterSelectBox = function (sender, rowState, rowData, browse ) {
//pole ktere vyvolalo nastaveni
par.changedField = sender.name;
//volání funkce k obslouženi nastavení hodnot dle matice
eso9.filterSelectBox(par)
}
</script>
techdoc/filtrovani_selectboxu.txt · Poslední úprava: 08.02.2025 13:00 autor: 127.0.0.1