WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   HTML und IE: kein disablen von <option> in <select>? (http://www.wcm.at/forum/showthread.php?t=212414)

RaistlinMajere 27.03.2007 11:11

Zitat:

Original geschrieben von void
von meiner lösung hältst du nichts?
ist meiner meinung nach noch einfacher als die von jak:
einfach per onchange die "gültigkeit" abfragen - wenn ungültig wieder zurück zu vorigem wert...

würde wohl funktionieren, nur stelle ich mir das ehrlich gesagt als user nervig vor, wenn ich auf einen eintrag klicke, und der cursor dann automatisch woanders hinspringt, ohne daß ich mir das unmittelbar erklären kann.

void 27.03.2007 12:47

lösung
 
versuche das hier:
Code:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html><head><title></title>
<style type="text/css">
option[disabled] { color:lightgrey; }
.disabled { color:lightgrey; }
</style>
<script type="text/javascript">
<!--
var sel_1_default = 0;

function test()
{
  if(document.getElementById("sel_1")[document.getElementById("sel_1").selectedIndex].getAttribute("disabled")==true) document.getElementById("sel_1").selectedIndex = sel_1_default;;
}
//-->
</script>
</head>
<body>
<form action="">
 


    <select id="sel_1" onchange="test()">
      <option>Heino</option>
      <option>Michael Jackson</option>
      <option disabled="true" class="disabled" >Tom Waits</option>
      <option>Nina Hagen</option>
      <option>Marianne Rosenberg</option>
    </select>
  </p>
</form>
</body>
</html>

noch ev. zu verbessern/anzumerken:
  • merken des letzten gültigen eintrages anstatt default-wert
  • die erste CSS-formatierung ist CSS 2.0 und wird erst vom IE 7.0 unterstützt. besser also die class methode verwenden...
  • und die funktion variabel für mehrere listen gestalten

RaistlinMajere 28.03.2007 18:46

hmm, im endeffekt ist das eh in etwa das, was du davor schon vorgeschlagen hast.
sprich es wird der attributwert von disabled abgefragt und, sofern true, die auswahl auf einen bestimmten index (in deinem fall 0, also der 1. eintrag) gesetzt.

das ändert nur leider nichts daran, daß sich der verwunderte user fragen wird, warum auf einmal die auswahl zu einem anderen eintrag "springt", als der, den er ausgewählt hat (denn daß dieser eigentlich disabled sein sollte, sieht er im IE ja nicht).

ich fürchte es wird mir nichts anderes übrigbleiben, als die option-einträge alle zu löschen und dynamisch über new Option() wiederherzustellen.

void 29.03.2007 10:21

ist ja gut...
woran erkennt der user denn im FF das das element disabled ist???

außerdem kannst du ja immer noch den user (z.b. per alert) darauf hinweisen...


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag