60 lines
1.5 KiB
JavaScript
60 lines
1.5 KiB
JavaScript
// <script>
|
|
/* dd = DropDown
|
|
*
|
|
* @version 0.1
|
|
* @author Matthias Viehweger <kronn@kronn.de>
|
|
*/
|
|
var dd = {
|
|
faw: '',
|
|
|
|
addEvent: function(elm, evType, fn, useCapture) {
|
|
// cross-browser event handling for IE5+, NS6 and Mozilla
|
|
// By Scott Andrew
|
|
if (elm.addEventListener) {
|
|
elm.addEventListener(evType, fn, useCapture);
|
|
return true;
|
|
} else if (elm.attachEvent) {
|
|
var r = elm.attachEvent('on' + evType, fn);
|
|
return r;
|
|
} else {
|
|
elm['on' + evType] = fn;
|
|
}
|
|
},
|
|
|
|
init: function() {
|
|
// auf Funktionen prüfen
|
|
if (!document.getElementsByTagName) return;
|
|
if (!document.getElementById) return;
|
|
|
|
// firmenartwaehler anzeigen
|
|
dd.faw = $('firmenartwaehler');
|
|
dd.faw.className = '';
|
|
|
|
// firmenartwaehler mit event verknuepfen
|
|
dd.addEvent(dd.faw, 'change', dd.show, false);
|
|
|
|
// firmenfelder verstecken
|
|
dd.hideAll();
|
|
|
|
// ausgewähltes Firmenfeld anzeigen
|
|
dd.show();
|
|
},
|
|
|
|
hideAll: function() {
|
|
// alle firmenfelder verstecken
|
|
var firmentypen = $('firmenauswahl').getElementsByTagName('div')
|
|
for( var i = 0; i < firmentypen.length; i++ ) {
|
|
if (firmentypen[i].className.substr(0,5) != 'firma') continue;
|
|
firmentypen[i].className = 'hidden';
|
|
}
|
|
},
|
|
|
|
show: function() {
|
|
// ein firmenfeld anzeigen ( class="firma" )
|
|
dd.hideAll();
|
|
var dropdown = dd.faw.getElementsByTagName('select')[0];
|
|
var wert = dropdown.options[dropdown.options.selectedIndex].value;
|
|
$('typ-' + wert).className = 'firma';
|
|
}
|
|
}
|
|
dd.addEvent(window, 'load', dd.init, false); |