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

    Array bidimensionali e scambio di valori

    Ciao a tutti!
    Premetto che non so se sia la sezione giusta dove postare la mia richiesta di aiuto (forse era meglio quella di php) e che il titolo del topic forse non dice nulla, ma non sapevo come altro chiamare il mio problema...

    Allora, io ho una tabella le cui righe vengono create dinamicamente attraverso php (ciclo for); ognuna di queste righe contiene le seguenti colonne, nell'ordine in cui le descrivo:
    1° col) checkbox
    2° col) nome prodotto
    3° col) quantità (inputtext)

    Ora, tutta la tabella è contenuta all'interno di una form per l'invio di dati. Questi dati, cioè quell relativi alla tabella li invio attraverso un array bidimensionale, ovvero a seconda del numero di prodotti selezionati di cui specifico la quantità, i dati inviati in post sono così strutturati:

    [prodotti] => Array
    (
    [0] => Array
    (
    [idprodotto] => 1
    [quantita] => 3
    )

    [1] => Array
    (
    [idprodotto] => 5
    [quantita] => 9
    )
    )

    Per ottenere questo, ho impostato l'attributo name dei checkbox come name="prodotti['.$i.'][idprodotto]", mentre quello degli input text come prodotti['.$i.'][quantita]', dove la variabile $i indica una variabile contatore che si incrementa ad ogni nuovo ciclo.

    Quello che vorrei ottenere tramite javascritp è che l'input text presente nella 3° colonna di una certa riga venga attivato solo se si è cliccato nella checkbox di quella riga.
    Ecco, come faccio a specificare nella funzione javascript quello che ora mi verrebbe da scrivere document.prodottiform.prodotti[i][quantita] (dove i è una variabile che passo alla funzione contente l'indice $i)???
    Qualcuno può aiutarmi, please???!?!? :master:
    Grazie a tutti!

  2. #2
    secondo me ti converrebbe assegnare un id ad ogni elemento

    ad ogni modo usando l'attributo name, se ad esempio vuoi ricavare il valore di un input della 3a riga

    codice:
    var i = 3;
    alert(document.getElementsByName("prodotti[" + i + "][quantita] ")[0].value);

  3. #3
    Originariamente inviato da raven74
    secondo me ti converrebbe assegnare un id ad ogni elemento

    ad ogni modo usando l'attributo name, se ad esempio vuoi ricavare il valore di un input della 3a riga

    codice:
    var i = 3;
    alert(document.getElementsByName("prodotti[" + i + "][quantita] ")[0].value);

    Graaandeeeee raven!!! Mi ero dimenticato della funzione getelementsByName !!! Ora funge!!
    GRAZIE MILLE!!!

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.