Skip to content

Commit d862717

Browse files
Cikidg
authored andcommitted
netteForms: support for toggling by CSS selector, not only id (#210)
this is useful eg. for controls manually rendered as table cells `<td>` which have only `<tr>` valid parent .. if there are multiple cells within table row toggling via `id` is not feasible (it would toggle all the cells in that row).
1 parent 96b3e90 commit d862717

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/assets/netteForms.js

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -654,10 +654,13 @@
654654
/**
655655
* Displays or hides HTML element.
656656
*/
657-
Nette.toggle = function(id, visible, srcElement) { // eslint-disable-line no-unused-vars
658-
var elem = document.getElementById(id);
659-
if (elem) {
660-
elem.style.display = visible ? '' : 'none';
657+
Nette.toggle = function(selector, visible, srcElement) { // eslint-disable-line no-unused-vars
658+
if (/^\w+$/.test(selector)) { // id
659+
selector = '#' + selector;
660+
}
661+
var elems = document.querySelectorAll(selector);
662+
for (var i = 0; i < elems.length; i++) {
663+
elems[i].style.display = visible ? '' : 'none';
661664
}
662665
};
663666

0 commit comments

Comments
 (0)