Author: nbelaevski
Date: 2009-05-20 13:05:26 -0400 (Wed, 20 May 2009)
New Revision: 14254
Modified:
branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
Log:
https://jira.jboss.org/jira/browse/RF-7179
Modified:
branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js
===================================================================
---
branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2009-05-20
16:08:32 UTC (rev 14253)
+++
branches/community/3.3.X/ui/modal-panel/src/main/resources/org/richfaces/renderkit/html/scripts/modalPanel.js 2009-05-20
17:05:26 UTC (rev 14254)
@@ -333,19 +333,9 @@
newLastPanel.enableInnerSelects();
}
} else {
- var children = document.body.childNodes;
- for (var k = 0; k < children.length; k++) {
- var child = children[k];
-
- if (!child.getElementsByTagName) {
- continue;
- }
-
- var selects = child.getElementsByTagName("SELECT");
-
- for (var i = 0; i < selects.length; i++) {
- this.enableSelect(selects[i]);
- }
+ var selects = document.body.getElementsByTagName("SELECT");
+ for (var i = 0; i < selects.length; i++) {
+ this.enableSelect(selects[i]);
}
}
},
@@ -363,24 +353,28 @@
this.enableInnerSelects();
} else {
//disable all outer
- var children = document.body.childNodes;
- for (var k = 0; k < children.length; k++) {
- var child = children[k];
-
- if (child == this.id) {
- continue;
+ var selects = document.body.getElementsByTagName("SELECT");
+
+ var innerSelects = this.id.getElementsByTagName("SELECT");
+ var firstInnerSelect = innerSelects[0];
+ var lastInnerSelect = innerSelects[innerSelects.length - 1];
+
+ var selectsAreInner = false;
+
+ for (var i = 0; i < selects.length; i++) {
+ var select = selects[i];
+ if (select == firstInnerSelect) {
+ selectsAreInner = true;
}
- if (!child.getElementsByTagName) {
- continue;
+ if (!selectsAreInner) {
+ this.disableSelect(select);
}
- var selects = child.getElementsByTagName("SELECT");
-
- for (var i = 0; i < selects.length; i++) {
- this.disableSelect(selects[i]);
+ if (select == lastInnerSelect) {
+ selectsAreInner = false;
}
- }
+ }
}
},