Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

hi zusammen,

hab ein kleines select feld was "multiple" ist, d.h. es können mehrere Einträge ausgewählt werden, nun muß ich wissen welche Einträge ich ausgewählt habe, soweit auch kein Problem klappt alles wunderbar.

 for(var i = 0; i < form.customer_having_storys.length; i++)

           {

              if(form.customer_having_storys[i].selected == true ) 

              {

                    alert("die story mit der ID" + form.customer_having_storys[i].value + "wurde gewählt") ; // das ganze nur als Bsp.

               } 

             } 



so nun aber muss ich das ganze erweitern und wissen welcher Eintrag als letztes ausgewählt wurde, also wenn ich z.B. drei Einträge ausgewählt habe will ich wissen welchen von diesen Drei als letzte ausgewählt wurde, da ich zu diesem weiteren Infos anzeigen muss. Hab leider keine Ahnung wie ich das lösen könnte, googlen hat auch nichts gebracht. Jemand von Euch eine Idee ?

Danke

Gruß

:marine

zeig einfach bei jedem "onchange" die Infos zu dem ausgewählten artikel an.

zeig einfach bei jedem "onchange" die Infos zu dem ausgewählten artikel an.

wenn es so einfach wäre :mod:

das Problem ist wenn ich einen Eintrag mit der ID 1 auswähle dann einen Eintrag mit der ID 5 und dann einen Eintrag mit der ID 3 dann sieht meine List so aus 1,3,5 aber ich will das sie so aussieht 1,5,3 also in der Reihe in der die Einträge auch ausgewählt wurden, damit ich als letzten ausgewählenten Eintrag den Eintrag mit der ID 3 habe :(

wenn es so einfach wäre :mod:

Naja, dann wirst du bei jedem onChange_click dir die gerade ausgebwählte ID irgendwo merken müssen(Verstecktes Listenfeld etc.), anders (also bei direkter Feldabfrage) merkt man nur die ausgweählten, nicht aber die Reihenfolge der Auswahl.
wenn es so einfach wäre :mod:

Es ist so einfach!

So sollte es gehen:

JS:



var aDescriptions = new Array();

aDescriptions[0] = "Beschreibung 1";

aDescriptions[1] = "Beschreibung 2";

aDescriptions[2] = "Beschreibung 3";


function showDescription( iValue) {

   document.getElementById( "Description").value = aDescriptions[ iValue -1]);

}

HTML:

<select name="Select" onchange="showDescription( this.value)">

<option value="1">Option1</option>

<option value="2">Option2</option>

<option value="3">Option3</option>

</select>


<div id="Description">

</div>

ungetestet!

notfalls musst du mit onclick arbeiten !

Naja, dann wirst du bei jedem onChange_click dir die gerade ausgebwählte ID irgendwo merken müssen(Verstecktes Listenfeld etc.), anders (also bei direkter Feldabfrage) merkt man nur die ausgweählten, nicht aber die Reihenfolge der Auswahl.

das geht nicht, weil lastSelectedIndex mir immer nur den Index ausgibt der der kleinste Index der gewählten Einträge ist

das hier genau so

<select ...blabla... onChange="JavaScript:ShowData(this.value)" >

function ShowData(value)

{

alert (value) ;

}

es wird immer der Wert ausgegeben der als erster in der Liste steht (also den kleinsten Index hat) :(

hej Kills, danke für Deine Mühe aber den JS Code verstehe ich nicht so ganz, was genau willst Du damit erreichen ? :rolleyes:

danke

Also, wenn du es wirklich so haben möchtest, dann müßtest du dir in einem eigenen Array den Zustand merken und, sobald der User was ändert, über onClick() überprüfen, welcher Eintrag denn dazugekommen/hinweggekommen ist. Dementsprechend kannst du dann mit kills Methode in einem div-Feld dynamisch Information anbieten.

hi,

ja die Idee mit dem Array habe ich auch schon gehabt, aber das array wird jedes mal neu inizlalisiert wenn ich dei Funktion die bei OnChange (oder onClick) aufgerufen wird und damit sind alle daten die ich im Array hate doch wieder weg

hi,

ja die Idee mit dem Array habe ich auch schon gehabt, aber das array wird jedes mal neu inizlalisiert wenn ich dei Funktion die bei OnChange (oder onClick) aufgerufen wird und damit sind alle daten die ich im Array hate doch wieder weg

hehe ich idiot ich kann ja das array aushalb der function inizialisieren :floet:

jetzt kalppt, danke allen !!



   function ShowComment(form, SelectName)

   {


         for(var i = 0; i < form.elements[SelectName].length; i++)

  	 { 


  	 	imArray = false ;



		 if(form.elements[SelectName][i].selected == true )

		 { 


		 	if(StorysArray.length > 0)

		 	{


		 		for(var k=0; k< StorysArray.length ; k++) // für jede story die schon im array ist

		 		{

		 			if(StorysArray[k] == form.elements[SelectName][i].value)

		 			{

		 				imArray = true ;	

		 			}


		 		}


		 	        if(imArray == false)

		                {


		       	           StorysArray[j] = form.elements[SelectName][i].value ; // noch nicht im array also schreib rein

		                   j++ ;

		                } 


		 	}

		 	else

		 	{   

		 	       StorysArray[j] = form.elements[SelectName][i].value ;

		               j++ ;


		 	}	

		 	 	}


	          last_ID = StorysArray[StorysArray.length-1] ; // der letze eintrag im array muss doch dem letzen ausgesuchten Eintrag entsprechen 

		  alert(last_ID);


   }



EDIT

doch nicht ganz, was mache ich den wenn ein Eintrag wieder deselctiert wurde :confused:

ok also fals es jemand interessiert, der ganze code nun



 StorysArray = new Array();

    j = 0 ;



   function ShowComment(form, SelectName)

   {


         for(var i = 0; i < form.elements[SelectName].length; i++)

  	 {  

  	 	imArray = false ;


		 if(form.elements[SelectName][i].selected == true )

		 { 


		 	if(StorysArray.length > 0)

		 	{


		 		for(var k=0; k< StorysArray.length ; k++) // für jede story die schon im array ist

		 		{

		 			if(StorysArray[k] == form.elements[SelectName][i].value)

		 			{

		 				imArray = true ;	

		 			}


		 		}


		 	        if(imArray == false)

		                {


		       	           StorysArray[j] = form.elements[SelectName][i].value ; // noch nicht im array also schreib rein

		                   j++ ;

		                } 


		 	}

		 	else // es ist der erste Aufruf das array ist noch leer

		 	{   

		 	       StorysArray[j] = form.elements[SelectName][i].value ;

		               j++ ;


		 	}	


		 }

		 else // ist nicht selectiert mal gucken ob ich es aus dem array werfen muss

		 {    


		 		for(var k=0; k< StorysArray.length ; k++) // für jede story die schon im array ist

		 		{

		 		        if(StorysArray[k] == form.elements[SelectName][i].value) // das element ist im array aber wurde "deselectiert" 

		 			{ 

		 				  StorysArray = StorysArray.slice(0,k);


		 			}


		 		}


		 }


	}


	          ST_ID = StorysArray[StorysArray.length-1] ; // der letze eintrag im array muss doch dem letzen ausgesuchten Eintrag entsprechen 

		 // alert(ST_ID);


		  qPopUp("show_story_comment.php?ST_ID="+ST_ID) ;


   }




Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.