Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171

    recuperare l'ultimo indice di un array

    duplico con jquery degli elementi (select).
    all'interno di ogni elementi apro una funzione javascript che invia ad una popup una variabile
    sul primo elemento funziona,
    ma giustamente gli altri elementi duplicati no.

    Esempio:
    select name="tipo" onchange="apro popup"

    Ho pensato, dato che è un array, recuperare il nome dell'ultimo elemento.
    Come di fa in javascript?
    o che soluzione posso adottare?

  2. #2
    beh, se è un array, allora ti basta:

    codice:
    var myArr; //Metti di avere qui dentro il tuo array
    var lunghezza = myArr.length; //in lunghezza c'è il numero di elementi dell'array
    var ultimo = lunghezza ? myArr[lunghezza - 1] : null;
    L'ultimo elemento sarà sicuramente la lunghezza dell'array - 1, ma se l'array è vuoto allora causa errore fare solo myArr[lunghezza - 1], quindi controllo se lunghezza è un valore valido (quindi > 0, non null e non "") e se non è valido gli metto null, altrimenti ottengo il valore.
    I DON'T Double Click!

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    io ho un form cosi:

    <select id="tipo2" name="tipo2" class="select" onchange="showList()" >
    <input name="mittente">
    e un link che crea un clone
    quindi l'array è "tipo2"

    in pratica con showlist() apro una popup e dovrei inviare alla popup anche una variabile che è l'indice dell'ultimo array (tipo2)

    questo è lo script :

    <SCRIPT LANGUAGE="JavaScript">
    <!--
    function showList() {

    (********** qui devo recuperare l'ultimo indice dell'array

    if (form1.tipo2.value=="interno") {
    var width = 350;
    var height = 500;
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt((screen.availHeight/2) - (height/2));
    sList = window.open("popup_mittenti.asp","list","width=350 ,height=500,scrollbars,top=" + top + ",left=" + left);
    //sList = window.open("popup_mittenti.asp","list","width=350 ,height=500,scrollbars");
    }

  4. #4
    Se ti serve solo l'indice allora:
    codice:
    /********** qui devo recuperare l'ultimo indice dell'array
    var indice = form1.tipo2.options.length - 1;
    
    if(indice == -1) { 
       //Non ci sono options nella select
       //Faccio qualcosa e blocco l'evento
    }
    I DON'T Double Click!

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    ho fatto cosi:
    function showList() {
    var indice = form1.tipo2.options.length - 1;

    if (form1.tipo2.value=="interno") {
    var width = 350;
    var height = 500;
    var left = parseInt((screen.availWidth/2) - (width/2));
    var top = parseInt((screen.availHeight/2) - (height/2));

    sList = window.open("popup_mittenti.asp?indice=indice","li st","width=350,height=500,);
    ma quando recupero ilvalore dalla pagina popup_mittenti mi scrive solo indice,
    sbaglio nell'invio

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    scusa ho provato:
    sList = window.open("popup_mittenti.asp?indice="+indice,"l ist","width=350,height=500,scrollbars,top=" + top + ",left=" + left);
    ma mi scrive come indice 3

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    scusa,
    scrive 3 forse perche la select è cosi:
    <select id="tipo2" name="tipo2" class="select" onchange="showList()" >
    1 <option value="">--Seleziona--</option>
    2<option value="interno">Interno</option>
    3 <option value="esterno">Esterno</option>
    4 <option value="privato">Privato</option>

    quindi
    var indice = form1.tipo2.options.length - 1; da 3
    ***************************************
    il problema è che se io duplico altre select con jquery avro' per esempio:

    <select id="tipo2" name="tipo2" class="select" onchange="showList()" >
    <option value="">--Seleziona--</option>
    <option value="interno">Interno</option>
    <option value="esterno">Esterno</option>
    <option value="privato">Privato</option>

    <select id="tipo2" name="tipo2" class="select" onchange="showList()" >
    <option value="">--Seleziona--</option>
    <option value="interno">Interno</option>
    <option value="esterno">Esterno</option>
    <option value="privato">Privato</option>

    il nome delle select è sempre quello. TIPO2
    io dovrei stabilire se quando clicco sulla select in che select mi trovo per inviare la variabile alla popup (devo dire alla popup che sto inviando i dati dalla seconda select.

  8. #8
    eh, significa che ci sono 4 elementi nel array.
    I DON'T Double Click!

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    si nella select ci sono 4 elementi.
    in pratica se io clicco su aggiungi,
    mi duplica la select e quindi avro due select uguali con lo stesso nome.
    ho in pratica un array che si chiama tipo2.

    ho fatto cosi:
    uno=request.Form("tipo2")
    elementi = split(uno, ", ")
    for i = 0 to ubound(elementi)
    response.write elementi(i) & "
    "
    cosi mi recupero tutti i valori selezionati dalle select.

    dato che le select mi richiamano una popup che mi restituisce il valore selezionato o scritto nella popup con opener, il mio problema e' che dovrei sapere su che select mi trovo,
    la prima, la seconda ecc...

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    1,171
    se ti puo essre utile ti posso dire che quello che devo fare è:

    registrare i documenti in uscita, ma io non so quanti indirizzi ci possono essere nel documenti, puo essre uno o 2-3-4-....
    ho due tipi di inidirizzi, interni o esterni (select che mi apre una popup specifica.
    ho pensato alla clonazione dei campi ma ho problemi ad aprire le popup.

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.