Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    140

    Cancellazione valore con riordino (per esperti)

    Ho un menu a cui si aggiungono delle voci premendo un pulsante e scrivendo nel popup che esce.
    Esempio :
    1)Premo il pulsante inserisci
    2)Esce il popup in cui scrivo ad esempio "Pippo";
    3) Nel menu mi compare 1. Pippo
    poi inserisco "Carlo" e nel menu mi compare 2.Carlo
    poi inserisco "Pino" e nel menu mi compare 3.Pino
    etc etc

    Poi ho un pulsante per la cancellazione ovvero seleziono Carlo premo il pulsante cancella e Carlo viene eliminato dalla lista.

    Il mio problema è che quando Carlo viene eliminato dalla lista mi restano 1.Pippo e 3.Pino ed io vorrei che si riordinassero anche i numeri ovvero che uscisse 1.Pippo e 2.Pino

    Ecco il codice che utilizzo per la cancellazione :
    function TracklistCanc(inForm) {
    var i=0
    while(i<inForm.tracklist.options.length) {
    if(inForm.tracklist.options[i].selected)
    inForm.tracklist.options[i]= null
    else
    i++;
    }
    }

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    puoi cercare di risolvere in vari modi,
    sembra che tu inserisca options in una select e quella numerazione come semplice testo che precede la stringa passata dal popup;
    personalmente terrei le stringhe in un array a parte e farei riscrivere la select (antecedendo ad ogni stringa, in ogni option, il rispettivo indice dell' array) ad ogni variazione,
    in questo modo non potrebbero mai verificarsi errori nella numerazione
    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    140
    Ho provato usando questo codice ma mi dà errore...vedete un pò :

    function TracklistCanc(inForm) {
    var i=0
    var q=1
    while(i<inForm.tracklist.options.length) {
    if(inForm.tracklist.options[i].selected){
    inForm.tracklist.options[i]= null

    //RIORDINO //
    while(q < inForm.tracklist.options.length){
    trk=inForm.tracklist.options.length + 1 +". " + inForm.tracklist.options[(q)];
    inForm.tracklist.options[(q)]= Option(trk,trk,true,true);
    q++;
    }
    }else
    i++;
    }
    }

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    140
    Nessuno mi aiuta ?^

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Anzitutto occorrre conoscere cosa passi alla funzione.

    Poi mi pare che ci siano errori di loop: prova ad indentare opportunamente il tuo codice, e dovresti trovarli.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    140
    Passo questo

    <input name="trackcanc" type="button" id="trackcanc" value="Cancella" onClick="TracklistCanc(document.globe)">

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    globe e` definito dall'attributo name del tag form? allora dovrebbe essere a posto.

    Sistema pero` i loop (sono uno dentro l'altro e mi pare che la logica non funzioni): se strutturi bene il codice dovresti vederlo subito.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    140
    Ma oltre i loop il codice così come l'ho scritto va bene ? te lo chiedo perchè sono neofita di javascript..

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Non riesco a controllare un codice di quel tipo. Non riesco a capire cosa puo` voler fare.

    Dato che non ho la palla di vetro, e non vedo dentro la tua testa, non posso sapere cosa volevi fare. Ho solo notato una incongruenza nei loop (sono innestati e girano sullo stesso set di indici: mi puzza di sbagliato).

    Il resto della logica non riesco a estrarlo, fino a che non e` risolto questo primo problema.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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.