Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Aggiunta elemento select (fatto, ma da completare)

    Ciao,
    ho fatto una funzioncina che mi crea un nuovo elemento in una select salvandolo nel db tramite AJAX.
    La select non viene aggiornata tutta ma solamente inserito il nuovo elemento, questo perchè ho a che fare con delle select molto lunghe (anagrafiche...),
    vorrei però poter inserire il nuovo elemento nel punto giusto della select ordinata, come faccio ??
    Al momento lo inserisco così...
    codice:
    		var y=document.createElement('option');
      		y.text=nome;
    		y.value=ajax.responseText;
    		try
    			{
    			 x.add(y,null); // standards compliant
    			}
    	  	catch(ex)
    			{
    			x.add(y); // IE only
    			}
    
    		}
    ma me lo mette ovviamente in fondo alla select...
    Non è possibile creare un nuovo elemento in mezzo senza dover ricaricare tutta la select ??
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  2. #2
    Mmm...forse ho trovato qualcosa di utile, se però qualcuno ha qualche altro consiglio è sempre ben accetto:
    http://www.mredkj.com/tutorials/tutorial005.html
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  3. #3
    Beh, se hai l'indice della posizione dove l'elemento deve essere inserito puoi fare:

    Codice PHP:

    var indice//l'Indice dove inserire l'option

    var newOption=document.createElement('option');
    newOption.appendChild(document.createTextNode(nome));
    newOption.value=ajax.responseText;

    var 
    mySelect document.getElementById("MySelect");

    mySelect.insertBefore(newOptionmySelect.options[indice]); 

  4. #4
    In effetti stavo appunto dando un'occhiata ad InsertBefore,
    per trovare l'indice potrei scorrere con un ciclo for le option della select e fare un confronto col testo che vado ad inserire per la option, una cosa del tipo...:
    codice:
    if(testo<=x.options[i].text)
    				continue;
    			else break;
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

  5. #5
    Ehm...questo però dimostra il mio digiuno con JS e le stringhe,
    come faccio un confronto "serio" tra due stringhe per ordinarle ??
    Il mio futuro ?? Io lo conosco, è il PARTY !! (Party Man)
    ...e ricordati che prima o poi il po-chi gira (Il Maestro)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.