Archivlink: javarea.de Forum > JavaScript > Was muss ich an diesem Script ändern?
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Was muss ich an diesem Script ändern?
Pages: [1]
| geschrieben von donrosso666 am 25.03.2008 - 00:13 |
|
| geschrieben von donrosso666 am 25.03.2008 - 12:03 |
Hallo Leute, ich suche einen Programierer, der mir hift, dieses Script, dass ich hier gepostet habe entsprechend anzupassen oder auch ein neues zu bauen.
Ich bin ganz neu auf dem Gebiet, habe aber ein Projekt anhand dessen ich lernen will. das Script das ich hier gepostet habe, ist eine Vorlage, die ich seit 2 Tagen versuche anzupassen, aber nicht weiterkomme. Es ist relativ eilig, dass ich damit vorankomme.
Also wenn einer von den Profis hier dafür zeit hat, würde ich mich freuen, wenn man mal kruz zusammen über das Script schauen könnte, evtl. auch etwas neues bauen könnte.
Ich bin natürlich auch gerne bereit, nach vorheriger Absprache über den Aufwand diesen entsprechend zu entschädigen.
Also, schaut Euch das Script mal an und ob Ihr versteht inwiefern ich es anpassen will, bzw. was für ein Script ich überhaupt brauche.
Würde mich über Antwort freuen.
Gruss |
| geschrieben von Danny am 26.03.2008 - 00:28 |
|
| geschrieben von donrosso666 am 26.03.2008 - 18:38 |
|
| geschrieben von Danny am 26.03.2008 - 19:22 |
Hallo,
es ist ersteinmal gut zuwissen, dass das Script soweit deinen Vorstellungen entsprechend ist ;)
Wenn du Auswahlfelder hinzufügen willst sind eigentlich 3 Stellen zu bearbeiten.
1) Der HTML Code
| HTML-Quelltext | 1:
2:
3:
4:
| <select name="stage0" size="1" onclick="redirect(1)"></select>
<select name="stage1" size="1" onclick="redirect(2)"></select>
<select name="stage2" size="1" onclick="redirect(3)"></select>
<select name="stage3" size="1"></select> |
2) Das Array mit den Feldnamen
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
| var fields = new Array(
document.formular.stage0,
document.formular.stage1,
document.formular.stage2,
document.formular.stage3
); |
3) Das Array mit den Inhalten
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
| var group = new Array();
group[0] = new Array(
new Option("Ebene 1"),
new Option("Ebene 2"),
new Option("Ebene 3")
);
group[1] = new Array(
new Array(
new Option("Ebene 1.1"),
new Option("Ebene 1.2")
),
new Array(
new Option("Ebene 2.1"),
new Option("Ebene 2.2")
),
new Array(
new Option("Ebene 3.1"),
new Option("Ebene 3.2")
)
);
group[2] = Array(
new Array(
new Array(
new Option("Ebene 1.1.1", "http://www.javarea.de"),
new Option("Ebene 1.1.2", "http://www.google.de")
),
new Array(
new Option("Ebene 1.2.1", "http://www.youtube.de"),
new Option("Ebene 1.2.2", "http://www.php.net")
)
),
new Array(
new Array(
new Option("Ebene 2.1.1", "http://www.flickr.com"),
new Option("Ebene 2.1.2", "http://www.studivz.de")
),
new Array(
new Option("Ebene 2.2.1", "http://www.wikipedia.de"),
new Option("Ebene 2.2.2", "http://www.javarea.de")
)
),
new Array(
new Array(
new Option("Ebene 3.1.1", "http://www.javarea.de"),
new Option("Ebene 3.1.2", "http://www.javarea.de")
),
new Array(
new Option("Ebene 3.2.1", "http://www.javarea.de"),
new Option("Ebene 3.2.2", "http://www.javarea.de")
)
)
);
group[3] = Array(
new Array(
new Array(
new Array(
new Option("Ebene 1.1.1.1", "http://www.test.de")
),
new Array(
new Option("Ebene 1.1.2.1", "http://www.hallo.de")
)
)
)
); |
Du hast es dir im Prinzip auch richtig gedacht nur muss für die neue Ebene auch eine Ebene im Array hinzukommen, also ein new Array() mehr.
Ich weiß, dass ist vielleicht etwas komliziert, schien mir aber gestern die einfachste Methode zu sein.
Wenn man group[2] und group[3] vergleicht, steht überall wo bei group[2] die new Option() sind noch ein new Array bei group[3]. Man muss es sich wie einen Baum mit Ästen vorstellen aus denen neue Zweige kommen.
Ich weiß jetzt nicht genau wie gut du dich mit Arrays und Javascript bzw Programmierung im Allgemeinen auskennst, aber das new Option("Ebene 1.1.2.1", "http://www.hallo.de") aus group[3] könnte man auch wie folgt schreiben
| HTML-Quelltext | 1:
| group[3][0][0][1][0] = new Option("Ebene 1.1.2.1", "http://www.hallo.de"); |
Da sieht man den "Pfad" um zu dem Element zu kommen. Halt wie bei Arrays üblich bei 0 beginnend, aber man kann es sich als 1 1 2 1 vorstellen.
Ich hoffe ich konnte das einigermaßen verständlich erklären ;)
| Zitat | | | Wie aufwendig ist es eigentlich, würde man das Script dann noch erweitern auf Funktionen wie z.B.:
- Am Ende zusammengefasst zu bekommen, was man sich jetzt zusammengestellt hat und eine Nummer dazu? |
Das Zusammengefasst zu bekommen ist eigentlich nicht schwer. Hier mal ein kleines Beispiel was die go() funktion ersetzt.
| HTML-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
| function go() {
text = '';
for(i=0;i < fields.length; i++) {
index = fields[i].options.selectedIndex;
text = text + fields[i].options[index].text + ' - ' + fields[i].options[index].value + ' - ' + index + '\n';
}
alert(text);
} |
Was du mit der Nummer meinst versteh ich nicht.
Hoffe dich erstmal ein Stück weitergebracht zu haben
Grüße
Danny
|
| geschrieben von donrosso666 am 28.03.2008 - 10:45 |
Also Deine Erklärungen find ich gut und verständlich. Vom Programmieren an sich habe ich im Moment noch relativ wenig Ahnung, eher zeimlich oberflächlich. ich bin gerade erst am Einsteigen. Dieses Projekt hier soll zum Lernen und Weiterentwickeln dienen.
Ich werde mich am Wochenende mal intenisv mit dem Script beschäftigen und es mal versuchen in die Tiefe genauso anzupassen, wie ich mir vorstelle, dass es weitergehen soll.
Ich würde mir dann erlauben, Dich wieder anzusprechen, wenn ich nicht weiterkomme, was nicht funktioniert, eine Frage habe oder auch einfach, dass Du mal drüberschaust, ob das Script so ok ist, wenn ich dran gebastelt hab.
Wie kann ich mich denn bei Dir erkenntlich zeigen, für Deine Unterstützung? |
| geschrieben von Danny am 28.03.2008 - 22:48 |
Hallo,
es freut mich wenn man das ganze lernen und verstehen will und nicht nur die fertige Lösung in seine Seite klatscht 
Klar schau ich dann auch gerne nochmal drüber oder beantworte noch eine Frage ;)
Und besonders erkenntlich brauchst du dich auch nicht zu zeigen, ich würd das doch hier nicht machen, wenn ich nicht selbst Spaß dran hätte ;) |
|