Bei Selectfeld den selectedIndex über die ID auslesen

praktikant81

Mitglied
Hi, sorry ich komme gerade überhaupt nicht weiter. Gogglen hat auch nicht mehr geholfen.

Also nun zu meinem Problem.

Ich habe eine Tabelle. in den Zellen befindet sich ein Selectfeld und ein Button. Wenn man den Button drückt soll ein weiteres Selectfeld in der Zelle erscheinen. Das ist auch nicht das Problem.

Sondern brauche ich den selectedIndex des ersten Feldes.

Code:
<table>
     <tr>     
          <td id="ID_1'"class="tabelle_zelle">
               <select id="ID_1_1" onchange="webS(this);">
                     <option value="Test1">Test 1</option>
                     <option value="Test2">Test 2</option>
                     <option value="Test2">Test 3</option>
                </select>
                <input type="button" value="+" onclick="neuesSel('ID_1);" />
           </td>
      </tr>
           <tr>     
          <td id="ID_2'"class="tabelle_zelle">
               <select id="ID_2_1" onchange="webS(this);">
                     <option value="Test1">Test 1</option>
                     <option value="Test2">Test 2</option>
                     <option value="Test2">Test 3</option>
                </select>
                <input type="button" value="+" onclick="neuesSel('ID_2);" />
           </td>
      </tr>
           <tr>     
          <td id="ID_3'"class="tabelle_zelle">
               <select id="ID_3_1" onchange="webS(this);">
                     <option value="Test1">Test 1</option>
                     <option value="Test2">Test 2</option>
                     <option value="Test2">Test 3</option>
                </select>
                <input type="button" value="+" onclick="neuesSel('ID_3);" />
           </td>
      </tr>
           <tr>     
          <td id="ID_4'"class="tabelle_zelle">
               <select id="ID_4_1" onchange="webS(this);">
                     <option value="Test1">Test 1</option>
                     <option value="Test2">Test 2</option>
                     <option value="Test2">Test 3</option>
                </select>
                <input type="button" value="+" onclick="neuesSel('ID_4);" />
           </td>
      </tr>
</table>


JS

Code:
function neuesSel(idZelle){
	var inhalt = document.getElementById(idZelle).innerHTML;
	var idSel = new Array(); 
	idSel = idSuche(inhalt);
	var anzahl = idSel.length;

	inhalt += '<br />
	<select id="'+idSel[0]+'_'+anzahl+'" onchange="webS(this);">	
		<option value="Test1">Test 1</option>
                <option value="Test2">Test 2</option>
                <option value="Test2">Test 3</option>
	</select>';
	if (anzahl == 1){
			inhalt += ' <input type="button" onclick="loeschSel('+"'"+idZelle+"'"+')" value="-" />';
	}
	var test = selGroup(idSel, "lesen");
	document.getElementById(idZelle).innerHTML = inhalt;
	var test = selGroup(idSel, "schreiben");	
}
function selGroup(ids, status){
	var i = 0;

	if(status == "lesen"){
		var selected = new Array();
		var i = 0;
		while (i < ids.length){
			selected[i[0]] = ids[i];
			i++;
			//var test = opener.document.getElementsByName(ids[i])[0];
			selected[i[i+1]] = document.getElementById(ids[i]).options.selectedIndex;
			alert(selected[i[i+1]]);
			/*var selectDom = document.getElementById(ids[n]);
			for (var i = 0; i < selectDom.options.length; ++i) {
				alert('Wert: ' + selectDom.options[i].firstChild.nodeValue);
			}*/
		}
	}
	else if (status== "schreiben"){
	while (i < ids.length){
		document.getElementById(ids[i[0]]).options[ids[i[0]]].selected = true;
		i++;
	}
}

	function idSuche(string) {
		var anfang = string.indexOf("id=\"");
		var start = anfang;
		var ende;
		var id = new Array();
		var n = 1; //schauen wie oft id vorhanden
		if (anfang > 0){
			while (n = -1) {
				ende = string.indexOf("\"",anfang+4)
				id.push(string.substring(anfang+4,ende));
				anfang = string.indexOf("id=\"", anfang+4);
				if (anfang < 0){
					return id;
					
				}
			}
		}
		
	}

Das ist mal ein kleiner Auszug! Ich steh echt gerade auf dem Schlauch!

Danke schon mal!
 
Zuletzt bearbeitet:
Das Beispiel müsste wohl das gewünschte Ergebnsi liefern:

HTML:
<script language="javascript" type="text/javascript">
function test (liste) {
    alert(document.getElementById(liste).selectedIndex);
    alert(document.getElementById(liste)[document.getElementById(liste).selectedIndex].value);
}
</script>

<select name="liste1a" size="3" id="liste1">
    <option value="Liste 1 - Wert 1" >Liste 1 - Wert 1</option>
    <option value="Liste 1 - Wert 2">Liste 1 - Wert 2</option>
    <option value="Liste 1 - Wert 3">Liste 1 - Wert 3</option>
</select>
<br />
<input type="submit" name="button1" value="Klick" onclick="test('liste1');" />
<br />
<select name="liste2a" size="3" id="liste2">
    <option value="Liste 2 - Wert 1" >Liste 2 - Wert 1</option>
    <option value="Liste 2 - Wert 2">Liste 2 - Wert 2</option>
    <option value="Liste 2 - Wert 3">Liste 2 - Wert 3</option>
</select>
<br />
<input type="submit" name="button2" value="Klick" onclick="test('liste2');" />
 
Zurück