Hallo zusammen,
hier eine sehr einfache Umsetzung einer editierbaren ComboBox.
Sofern der gewünschte Eintrag nicht vorhanden ist,wählt man Eintrag einfügen,
welches die ComboBox unsichtbar, und die EditBox sichtbar werden läßt.
Man kann nun den gewünschten Eintrag formulieren und mit Enter bestätigen,
wodurch man wieder in der ComboBox landet und der eben formulierte Eintrag
ausgewählt ist.
Viel SpaßPHP-Code:<html>
<head>
<script type="text/javascript">
function EintragPruefen(ComboBoxDummy, EditDummy)
{
if (document.getElementById(ComboBoxDummy).value == 0)
{
document.getElementById(ComboBoxDummy).style.display = 'none';
document.getElementById(EditDummy).style.display = 'block';
}
}
function EintragHinzufuegen(ComboBoxDummy, EditDummy)
{
if (event.keyCode == 13)
{
NeuerEintrag = new Option(document.getElementById(EditDummy).value, document.getElementById(EditDummy).value, false, true);
document.getElementById(ComboBoxDummy).options[document.getElementById(ComboBoxDummy).length] = NeuerEintrag;
document.getElementById(EditDummy).value = "";
document.getElementById(EditDummy).style.display = 'none';
document.getElementById(ComboBoxDummy).style.display = 'block';
}
}
</script>
</head>
<body>
<select name="ComboBox" size="1" style="position:absolute; left:8; top:8; width:88; height:22; display:block;" onchange="EintragPruefen('ComboBox', 'Edit')">
<option value="1">1. Eintrag</option>
<option value="2">2. Eintrag</option>
<option value="3">3. Eintrag</option>
<option value="0">Eintrag einfügen</option>
</select>
<input type="text" name="Edit" style="position:absolute; left:8; top:8; width:88; height:22; display:none;" onkeypress="EintragHinzufuegen('ComboBox', 'Edit')">
</body>
</html>
XFiled
P.S.: der Umsetzung lag folgender Quelltext zugrunde.


LinkBack URL
About LinkBacks
Zitieren

Lesezeichen