Autor |
Nachricht |
fyll
Threadersteller
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Do 15.07.2004 11:18
Titel Multiples Selektieren einer Auswahlliste |
|
|
gugu, heut hab ich mal ne Frage...
An dem prob mach ich hier jetz schon mindestend ne Stunde rum, kriegs aber nicht gebacken... bin heut auch alles andere als fit und hab mal sowas von keinen Bock, vielleicht gehts ja einem von euch besser...
folgendes:
durchs Attribut multiple im option kann man ja ohne Probs mehrere options auswählen lassen...
Aber halt auch nur, wenn der User STRG drückt, und das will ich nicht..
also hab ich versucht via onclick im select-tag mit selectedIndex den markierten auszuwählen und temporär den value zu speichern, und den dann im nachhinein zu markieren...
wenn er jetz allerdings nen 2. auswählen will, is ja schon einer markiert und der gibt ggf. nen verfälschten index aus, sodass das dann nichtmehr klappt...
Alternativ ginge auch n scrollbares div mit checkboxen davor, die selektiert werden, aber da hab ich grad kein Bock drauf..
wer ne Idee?
|
|
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst Do 15.07.2004 11:34
Titel
|
|
|
poste ma deinen code...
|
|
|
|
|
Anzeige
|
|
|
fyll
Threadersteller
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Do 15.07.2004 11:42
Titel
|
|
|
tuxedo hat geschrieben: | poste ma deinen code... |
Mit dem wirst 0,0 anfangen können... das ganze is Datenbankbassiert ... mit ner Sprache, die du sicher nciht kennst... also weder PHP noch ASP etc... aber ok, wenn du umbedingt willst....
achtung, jetz wirds lang...
und nix über den code, bin heut fix und fertig...
Code: |
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>----------</title>
<meta http-equiv="content-type" content="text/html;CHARSET=iso-8859-1">
<meta name="Author" content="Philipp Tavra (Philipp@Tavra.de)">
<link rel="stylesheet" type="text/css" href="/formate.css">
</head>
<body style="margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px;" bgcolor="#f8dfa6" background="/bilder/hg02.gif">
<table border="0" cellspacing="0" cellpadding="0" width="535">
<tr>
<td valign="top" width="55"><img src="/bilder/leer.gif" width="55" height="1"></td>
<td valign="top" width="450" class="contentheader"><img src="/bilder/leer.gif" width="1" height="80"></td>
<td valign="top" width="30"><img src="/bilder/leer.gif" width="30" height="1"></td>
</tr>
<tr>
<td valign="top" width="55"><img src="/bilder/leer.gif" width="17" height="1" align="left"><img src="/bilder/pfeil01.gif" hspace="0" vspace="0"></td>
<td valign="top" width="450" class="contentheader">
<table valign="top" width="450" cellspacing="0" cellpadding="0" border="0">
<tr>
<td valign="top" width="100%" class="contentheader">
<span class="hitsheader">Bitte wählen Sie schrittweise die Warengruppe aus, der dieses Angebot zugeordnet werden soll:<br><br><br></span>
</td>
</tr>
<tr>
<td align="left" valign="top">
<form name="form">
<select name="Kats" size="7" onchange="setkats(document.form.Kats.options[document.form.Kats.selectedIndex].value)" style="width:445px">
<option value="Kat1">Technik - Ausstatung</option>
<option value="Kat2">Dienstleistung - Verbände</option>
<option value="Kat3">Beverages</option>
<option value="Kat4">Food</option>
<option value="">---------------------------------------------------------------------------------------------------------</option>
</select>
<center><img src="/bilder/pfeil_runter.gif" alt="" border="0"></center>
<select size="7" name="branchen" onchange="setbranchen(document.form.branchen.options[document.form.branchen.selectedIndex].value)" style="width:445px">
<option value="">---------------------------------------------------------------------------------------------------------</option>
</select>
<center><img src="/bilder/pfeil_runter.gif" alt="" border="0"></center>
<select size="7" name="warengruppen" onchange="setwgs(document.form.warengruppen.options[document.form.warengruppen.selectedIndex].value)" style="width:445px" multiple>
<option value="">---------------------------------------------------------------------------------------------------------</option>
</select>
</form>
</td>
</tr>
</table>
</td>
<td valign="top" width="30"><img src="/bilder/leer.gif" width="30" height="1"></td>
</tr>
</table>
<script type="text/javascript">
function setkats(angeklickt) {
do {
document.form.branchen.options[document.form.branchen.length-1] = null;
}
while(document.form.branchen.length>0);
do {
document.form.warengruppen.options[document.form.warengruppen.length-1] = null;
}
while(document.form.warengruppen.length>0);
// !#BLOCK(BRANCHEN);
// !#WHERE(BR_ID<230);
// !#WHERE(BR_ID>0);
// Technik - Ausstattung
// !#LOOP;
if(angeklickt=="Kat1") {
NeuerEintrag = new Option("!#BR_DEUTSCH;","!#BR_ID;");
document.form.branchen.options[document.form.branchen.length] = NeuerEintrag;
}
// !#ENDLOOP;
// !#ENDBLOCK;
// !#BLOCK(BRANCHEN);
// !#WHERE(BR_ID<500);
// !#WHERE(BR_ID>229);
// Dienstleistung - Verbände
// !#LOOP;
if(angeklickt=="Kat2") {
NeuerEintrag = new Option("!#BR_DEUTSCH;","!#BR_ID;");
document.form.branchen.options[document.form.branchen.length] = NeuerEintrag;
}
// !#ENDLOOP;
// !#ENDBLOCK;
// !#BLOCK(BRANCHEN);
// !#WHERE(BR_ID<509);
// !#WHERE(BR_ID>499);
// Beverages
// !#LOOP;
if(angeklickt=="Kat3") {
NeuerEintrag = new Option("!#BR_DEUTSCH;","!#BR_ID;");
document.form.branchen.options[document.form.branchen.length] = NeuerEintrag;
}
// !#ENDLOOP;
// !#ENDBLOCK;
// !#BLOCK(BRANCHEN);
// !#WHERE(BR_ID<700);
// !#WHERE(BR_ID>509);
// Food
// !#LOOP;
if(angeklickt=="Kat4") {
NeuerEintrag = new Option("!#BR_DEUTSCH;","!#BR_ID;");
document.form.branchen.options[document.form.branchen.length] = NeuerEintrag;
}
// !#ENDLOOP;
// !#ENDBLOCK;
NeuerEintrag = new Option("---------------------------------------------------------------------------------------------------------","");
document.form.branchen.options[document.form.branchen.length] = NeuerEintrag;
NeuerEintrag = new Option("---------------------------------------------------------------------------------------------------------","");
document.form.warengruppen.options[document.form.warengruppen.length] = NeuerEintrag;
}
function setbranchen(angeklickt) {
do {
document.form.warengruppen.options[document.form.warengruppen.length-1] = null;
}
while(document.form.warengruppen.length>0);
// !#BLOCK(WARENGRUPPEN);
// !#WHERE(WG_BR_ID>0);
// !#LOOP;
if("!#WG_BR_ID;"==angeklickt) {
NeuerEintrag = new Option("!#WG_DEUTSCH;","!#WG_WA_ID;");
document.form.warengruppen.options[document.form.warengruppen.length] = NeuerEintrag;
}
// !#ENDLOOP;
// !#ENDBLOCK;
NeuerEintrag = new Option("---------------------------------------------------------------------------------------------------------","");
document.form.warengruppen.options[document.form.warengruppen.length] = NeuerEintrag;
}
function setwgs(angeklickt) {
if(angeklickt>0) {
// übermittlung ans alte Fenster...
self.close();
}
}
</script>
</body>
</html>
|
|
|
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst Do 15.07.2004 11:55
Titel
|
|
|
hm...
|
|
|
|
|
fyll
Threadersteller
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Do 15.07.2004 11:56
Titel
|
|
|
tuxedo hat geschrieben: | hm... |
soweit bin ich auch
.. PAUSE
|
|
|
|
|
karmacoder
Dabei seit: 15.04.2002
Ort: Fürth
Alter: 42
Geschlecht:
|
Verfasst Do 15.07.2004 12:10
Titel
|
|
|
du hast ja noch gar kein code, der das problem betrifft. momentan befüllst du ja nur die select mit den options.
sobald jemand ohne strg eine option aufwählt ist die information verlohren was vorher ausgewählt war.
also must du das select und seine options nochmal als array anlegen und dort mitspeichern welche ausgewählt wurden um daraus nachträglich die richtigen im formular auszuwählen.
bei jedem klick wird das array upgadated, war die jetzt im formular ausgewählte option noch nicht ausgewählt wird die aktiv, wenn sie aber schon aktiviert war wird sie deaktiviert...
sollte eigendlich nicht sooo schwer sein.
|
|
|
|
|
fyll
Threadersteller
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 39
Geschlecht:
|
Verfasst Do 15.07.2004 12:42
Titel
|
|
|
jau soweit war ich auch (siehe Post oben)
das prob is, dass ich nur feststellen kann, welcher grad selektiert wurde, wenn definitiv vorher gar keiner angeklickt war...
also müsste ich bei nem klick den array updaten, alle selektierungen leeren und ihn dann erst selektieren lassen, zusammen mit allen aus dem Array...
und dafür hab ich bis jetz noch nicht wirklich den code hingekriegt... meine testversuche stehen natürlich nicht im obigen code
da könnt ihr euch mal die bisherige Verion anschaun...
http://www.torrero.de/cgi-bin/ias?Template=test.html
... das 3. feld soll multiple sein, sodass der uder mehrere Warengruupen auswählen kann
//edit: sollte eigentlich langsam in Programmierung, oder?
Zuletzt bearbeitet von fyll am Do 15.07.2004 12:50, insgesamt 1-mal bearbeitet
|
|
|
|
|
tuxedo
Dabei seit: 10.10.2002
Ort: ~/
Alter: 51
Geschlecht: -
|
Verfasst Do 15.07.2004 12:50
Titel
|
|
|
also, ich bastel grad an ner lösung....
wieviele warengruppen hast du denn?
|
|
|
|
|
|
|
|
Ähnliche Themen |
[PS CS5] Unbuntwerte mit Lab selektieren
Auswahlliste mit Mehrfachauswahl in Datenbank eintragen
|
|