automatische markierung von Liste-select

bilobill

Grünschnabel
Hallo

Ich habe ein Problem. Ich habe 2 Liste, es gibt Daten die von der erste Liste nach der zweiten übertragen werden müssen.

Das tut schon mein code. Das ist eine select multiple .

Aber ich will dass, wenn jemand auf das Button anklickt, diesen Daten direkt in die zweite liste als "Markiert " erscheinen (selected)....weil momentan die Daten sind nicht in DB eingetragen weil sie nicht "selected" sind...

Ich will nicht dass die markierung sich passiert während des "Submit" aber direkt wenn jemand einen Wert von liste1 nach Liste 2 schiebt (dann in Liste 2 müssen alle Daten markiert werden).

Wie kann ich bitte onClick (>>>) parametriert damit es funktionniert (weil momentan onclick führe schon eine Funktion aus)?

Code:
SCRIPT LANGUAGE="JavaScript">

	function add(l1,l2) {
		if (l1.options.selectedIndex>=0) {
			o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
			l2.options[l2.options.length]=o;
			l1.options[l1.options.selectedIndex]=null;
		}else{
			alert("nichts wurde gewählt");
		}
	}
</SCRIPT>




<td>{LANG_HOSTGROUPS}</td> 

<td rowspan="1">
 <select name="selHostGroupsliste1" size="4"  style="width:200px;"> 

<!-- BEGIN hostgroups -->
         <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}>{DAT_HOSTGROUPITEM}</option>
<!-- END hostgroups -->
 </select>
 </td>

<td>
 <INPUT type="button" value=" >>>" onClick="add(this.form.selHostGroupsliste1,this.form.elements['selHostGroups[]'])">
  <BR><BR>
 <INPUT type="button"  value="<<<" onClick="add(this.form.elements['selHostGroups[]'],this.form.selHostGroupsliste1)">
</td>
 
 <TD align="center">
  <select name="selHostGroups[]" size="4" multiple id="selHostGroups[]" style="width:200px;">
  <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}>{DAT_HOSTGROUPITEM}</option>
</SELECT>
</TD>

Danke
 
new Option() bessitzt 4 Argumente, davon sind die letzten 3 optional.
über das letzte dieser 4 Argumente kannst du festlegen, ob die Option selketiert werden soll:
Code:
o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value,false, true);
 
danke für die Antwort, ich hatte das Problem schon anders gelöst (durch o.selected='true';)

Jetzt anderes Problem. Wenn jemand von der Liste2 ein Element nach der Liste 1 zurückschickt, deaktiviert sich automatisch alle Elemente von der Liste 2 die vorher aktiviert waren.
Jetzt will ich , dass wenn das Formular geschickt wird, alle Item von der Liste2 auf "selected" gesegt sind.

Aber ich habe wahrscheinlich etwas falsch in mein Programm da unten:


Code:
<form name="frmHostInsert" method="post" onSubmit="allSelect()" action="{ACTION_INSERT}">

<SCRIPT LANGUAGE="JavaScript">
 
	function moveDat(l1,l2) {


		if (l1.options.selectedIndex>=0) {
			o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
			o.selected='true';
                        l2.options[l2.options.length]=o;
			l1.options[l1.options.selectedIndex]=null;
			 //l2.options[l2.options.length].selected='true';
                       
		}else{
			alert("Nichts wurde gewählt");
		}
	}


</SCRIPT>


 
<script language="JavaScript">

function allSelect()
{
 for (i=0; i<document.forms[0].selHostGroups[].length; i++){
  if(document.forms[0].selHostGroups[].options[i].selected == false){
     document.forms[0].selHostGroups[].options[i].selected=true;
   }
  }
}

</script>



<td rowspan="1">
<select name="selHostGroupsliste1" size="4"  multiple style="width:200px;"> 

<!-- BEGIN hostgroups -->
         <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}>{DAT_HOSTGROUPITEM}</option>
<!-- END hostgroups -->
 </select>
 </td>

<td>
 <INPUT type="button" value=">>>" onClick="moveDat(this.form.selHostGroupsliste1,this.form.elements['selHostGroups[]'])">

  <BR><BR>

 <INPUT type="button"  value="&lt;&lt;&lt;" onClick="moveDat(this.form.elements['selHostGroups[]'],this.form.selHostGroupsliste1)">
</td>

 <TD align="center">
  <select name="selHostGroups[]" size="4" multiple id="selHostGroups[]" style="width:200px;">
  <option value="{DAT_HOSTGROUPITEM_ID}" {DAT_HOSTGROUPITEM_SEL}></option>

</SELECT>
</TD>

</form>
 

Neue Beiträge

Zurück