WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

HTML, XHTML, CSS , style, XML, Javascript und mehr, Fragen, Tipps und Anregungen zu diesen Basic Techniken - hier rein !


Forum » HTML, CSS - Hilfe für das Erstellen einer Homepage » positionierung im select per JS » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von epitaxy
nagut, da mir keiner helfen wollte musste ich es ja selber machen, damit der nächste der soeinen sc.... vorhat nicht soviel nachdenken muss hier der code:

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: 
69: 
70: 
71: 
72: 
73: 
74: 
75: 
76: 
77: 
78: 
79: 
80: 
81: 
82: 
83: 
84: 
85: 
86: 
87: 
88: 
89: 
90: 
91: 
92: 
93: 
94: 
95: 
96: 
97: 
98: 
99: 
100: 
101: 
102: 
103: 
104: 
105: 
106: 
107: 
108: 
109: 
110: 
111: 
112: 
113: 
114: 
115: 
116: 
117: 
118: 
119: 
120: 
121: 
122: 
123: 
124: 
125: 
126: 
127: 
128: 
129: 
130: 
131: 
132: 
133: 
134: 
135: 
136: 
137: 
138: 
139: 
140: 
141: 
142: 
143: 
144: 
145: 
146: 
147: 
148: 
149: 
150: 
151:

<html>
<head>
<title></title>	
<script language="JavaScript">
function changeRubrikPosition(index,to,name) {
	var ziel = name;
	var total = ziel.options.length-1;
	
	var toChange = 0;
	var sameElementChange = index;
	var items = new Array;
	var values = new Array;
	var values_rubrik = new Array;
	
	for (i = total; i >= 0; i--) {
		items[i] = ziel.options[i].text;
		values[i] = ziel.options[i].value;
		values_rubrik[i] = ziel.options[i].value.split("_");
	}

	if (to == 1) {
		for (i = index + 1; i <= total; i++) {
			if (values_rubrik[index + 1][1] == values_rubrik[i][1]) {
				toChange = i;
			}
		}
		
		for (x = index; x >= 0; x--) {
			
			if (values_rubrik[index][1] == values_rubrik[x][1]) {
				sameElementChange = x;
			}
		}
		sameElementChange = index - sameElementChange;
		var plus = 0;
		for (z = index; z >= index - sameElementChange; z--) {
			var zCount = z
			for (y = z + 1; y <= toChange - plus; y++) {
				var old_item = ziel.options[y].value;
				ziel.options[y] = new Option(items[zCount],values[y],0,1); 
				ziel.options[zCount] = new Option(items[y], values[zCount],0,0);
				ziel.options[y].value = ziel.options[zCount].value;
				ziel.options[zCount].value = old_item;
				zCount++;
				for (i = total; i >= 0; i--) {
					items[i] = ziel.options[i].text;
					values[i] = ziel.options[i].value;
				}
				
			}
			plus++;
		}
		name.selectedIndex = toChange;
		
	} 
	if (to == -1) {
		for (i = index; i >= 0; i--) {
			if (values_rubrik[index - 1][1] == values_rubrik[i][1]) {
				toChange = i;
			}
		}
		
		for (x = index + 1; x <= total; x++) {
			
			if (values_rubrik[index][1] == values_rubrik[x][1]) {
				sameElementChange = x;
			}
		}
		sameElementChange = sameElementChange - index;
		var plus = 0;
		for (z = index; z <= index + sameElementChange; z++) {
			var zCount = z
			for (y = z - 1; y >= toChange + plus; y--) {
				var old_item = ziel.options[y].value;
				ziel.options[y] = new Option(items[zCount],values[y],0,1); 
				ziel.options[zCount] = new Option(items[y], values[zCount],0,0);
				ziel.options[y].value = ziel.options[zCount].value;
				ziel.options[zCount].value = old_item;
				zCount--;
				for (i = total; i >= 0; i--) {
					items[i] = ziel.options[i].text;
					values[i] = ziel.options[i].value;
				}
				
			}
			plus++;
		}
		name.selectedIndex = toChange;
	} 
}

function changePosition(index,to,name) {
	var ziel = name;
	var total = ziel.options.length-1;
	if (index == -1) return false;
	if (to == 1 && index == total) return false;
	if (to == -1 && index == 0) return false;
	var items = new Array;
	var values = new Array;
	var values_rubrik = new Array;
	
	for (i = total; i >= 0; i--) {
		items[i] = ziel.options[i].text;
		values[i] = ziel.options[i].value;
		values_rubrik[i] = ziel.options[i].value.split("_");
	}
	
	if (values_rubrik[index][1] == values_rubrik[index + to][1]) {
		var old_item = ziel.options[index + to].value;
		ziel.options[index + to] = new Option(items[index],values[index + to],0,1); 
		ziel.options[index] = new Option(items[index + to], values[index],0,0);
		ziel.options[index + to].value = ziel.options[index].value;
		ziel.options[index].value = old_item;
	} else {
		changeRubrikPosition(index,to,name);
	}
 ziel.focus();
}

function markList(box) {
	var boxLength = box.length;

	for (i = 0; i < boxLength; i++) {
		box.options[i].selected =true;
	}
	return true;
}
</script>
</head>
<body >
<form name="listForm" action="" method="post" onSubmit="return markList(document.listForm.listEntry)">
<select multiple name="listEntry" style="width:350;" size="20">
<option value="123213_rubrik1">text blubp (rubrik1)</option>
<option value="255558_rubrik1">text blubp2 (rubrik1)</option>
<option value="979518_rubrik2">text blubptext blubp (rubrik2)</option>
<option value="122222_rubrik2">text blubptext blubp2 (rubrik2)</option>
<option value="1233346_rubrik2">text blubptext blubp3 (rubrik2)</option>
<option value="13448_rubrik3">3 text (rubrik3)</option>
<option value="183338_rubrik3">3 text2 (rubrik3)</option>
<option value="72334_rubrik3">3 text3 (rubrik3)</option></select>
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,-1,document.listForm.listEntry)">hoch</a><br />
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,1,document.listForm.listEntry)">rundah</a><br />
<input type="image" src="save.gif"  onClick="markList(document.listForm.listEntry);" name="save" border="0" />
</form>
</body>
</html>


von epitaxy
owee, keiner da der sowas mal gemacht hat ?
naja i werde dann mal loslegen und veruschen das was ich mir am WE theoretisch vorgestellt habe umzusetzten ....
an solchen tagen wie huete hasst man JS ja noch a bissle mehr als sonst
von epitaxy
ach so, ich könnte naklar auch den value a bissle verändern z.b. 12112_rubrik aber ob des mehr bringt ?!
naja =) help!!
sonst muss ich huete überstunden machen
von epitaxy
hi,
nun hab i auch mal ne frage

der untenstehende code macht es möglich ein element im select zu makieren und in der position zu verschieben mit hoch bzw. rundah

nun brauche ich aber eine erweiterung das wenn z.b. das obere element mit der (rubrik 2) nach oben verschoben wird, alle von der gleichen rubrik mit hochgeschoben werden ( der ganze "rubrik 2" block über den "rubrik 1") und nach unten soll es auch funktionieren...

wird in der selben rubrik umsortiert soll es die jetzige funktion haben....

any idea ?


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:

<html>
<head>
<title></title>	
<script language="JavaScript">
function changePosition(index,to,name) {
	var ziel = name;
	var total = ziel.options.length-1;
	if (index == -1) return false;
	if (to == 1 && index == total) return false;
	if (to == -1 && index == 0) return false;
	var items = new Array;
	var values = new Array;
	for (i = total; i >= 0; i--) {
		items[i] = ziel.options[i].text;
		values[i] = ziel.options[i].value;
	}
	for (i = total; i >= 0; i--) {
		if (index == i) {
			var old_item = ziel.options[i + to].value;
			ziel.options[i + to] = new Option(items[i],values[i + to],0,1); ziel.options[i] = new Option(items[i + to], values[i],0,0); ziel.options[i + to].value = ziel.options[i].value; ziel.options[i].value = old_item;
			i--;
		} else {
			ziel.options[i] = new Option(items[i], values[i]);
		}
	}
	ziel.focus();
}
</script>
</head>
<body>
<form name="listForm" action="" method="post">
<select multiple name="listEntry" style="width:350;" size="20">
<option value="143242">text 1  (rubrik 1)</option>
<option value="24324">text 12 (rubrik 1)</option>
<option value="34234">text 13 (rubrik 1)</option>
<option value="222">text 14 (rubrik 2)</option>
<option value="33">text 15 (rubrik 2)</option>
<option value="444">text 16 (rubrik 2)</option>
<option value="4422">text 17 (rubrik 3)</option>
<option value="12323">text 18 (rubrik 3)</option>
</select>
<br />
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,-1,document.listForm.listEntry)">hoch</a><br />
<a href="#2" onclick="changePosition(document.listForm.listEntry.selectedIndex,1,document.listForm.listEntry)">rundah</a><br />
</form>
</body>
</html>



lataz

Nach oben