Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di fostex
    Registrato dal
    Mar 2000
    Messaggi
    136

    griglia di radio button

    ho 3 gruppi di radio button con 3 radio ognuno.
    il primo radio di ogni gruppo ha come valore "a",
    il secondo "b" e il terzo "c"

    in pratica è una griglia:
    codice:
    <table width="200" border="1">
      <tr>
        <td>a</td>
        <td>b</td>
        <td>c</td>
      </tr>
      <tr>
        <td><input type="radio" name="primo" value="a"  /></td>
        <td><input type="radio" name="primo" value="b"  /></td>
        <td><input type="radio" name="primo" value="c" /></td>
      </tr>
      <tr>
        <td><input type="radio" name="secondo" value="a" /></td>
        <td><input type="radio" name="secondo" value="b" /></td>
        <td><input type="radio" name="secondo" value="c" /></td>
      </tr>
      <tr>
        <td><input type="radio" name="terzo" value="a" /></td>
        <td><input type="radio" name="terzo" value="b" /></td>
        <td><input type="radio" name="terzo" value="c" /></td>
      </tr>
    </table>
    ovviamente se io seleziono un radio di un gruppo qualsiasi
    si deselezionano gli altri del gruppo.
    Io vorrei che vengano deselezionati anche quelli che sono nella stessa colonna di quello selezionato
    cioè vorrei che tutti gli altri con lo stesso valore (es "a")
    si deselezionano.

    è possibile?
    ci sto provando, ma sono una capra...


  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Se anche ci riesci (in qualche browser e` possibile), stai violando le specifiche HTML, secondo cui un radio ha SEMPRE un bottone premuto.

    Per deselezionare un radio occorre quindi selezionarne un altro.

    Quello che vuoi fare si puo` fare tramite checkbox; in alternativa devi inserire una quarta opzione (eventualmente nascosta) in ogni gruppo.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di fostex
    Registrato dal
    Mar 2000
    Messaggi
    136
    Scusa, non mi sono spiegato bene
    io voglio che nei singoli gruppi se ne possa selezionare uno
    (e fin quì è regolare)
    ma vorrei che anche verticalmente sia selezionabile uno solo.

    cioè:

    codice:
    Così si
    A  B  C
    0  x  0
    x  0  0
    0  0  x
    
    Così no
    A  B  C
    x  x  0
    x  0  0
    0  0  x
    
    Così no
    A  B  C
    0  x  0
    x  0  x
    0  x  x
    Ciao e grazie per la risposta

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Avevo capito; sono io che forse non mi sono spiegato.

    Stando alle specifche NON SI PUO` togliere una selezione di un radio. Si puo` solo selezionare un altro elemento dello stesso gruppo.

    Quindi se vuoi ottenere quello che chiedi devi sceglire:
    - fai la cosa con i checkbox
    - aggiungi un bottone radio per ogni gruppo che serve per disattivare le altre scelte.

    Esempio:
    <td><input type="radio" name="primo" value="a" /></td>
    <td><input type="radio" name="primo" value="b" /></td>
    <td><input type="radio" name="primo" value="c" /></td> <td style="display:none;"><input type="radio" name="primo" value="off" checked="checked" /></td>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di fostex
    Registrato dal
    Mar 2000
    Messaggi
    136
    mi va bene anche se vengono disabilitati invece che selezionati


  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Originariamente inviato da fostex
    mi va bene anche se vengono disabilitati invece che selezionati
    Questa non la ho proprio capita.

    Disabilitare un campo significa che il campo non e` piu` cliccabile (e che non viene spedito al server).
    Non mi pare che ti possa servire.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  7. #7
    Utente di HTML.it L'avatar di fostex
    Registrato dal
    Mar 2000
    Messaggi
    136
    Allora,

    io vorrei ricreare questa situazione:
    codice:
    <FORM NAME="frmTest">
      <table width="200" border="1">
          <tr>
            <td>a</td>
            <td>b</td>
            <td>c</td>
          </tr>
          <tr>
            <td><input type=radio name="primo" value="1"  onclick="document.frmTest.secondo[0].checked = false; document.frmTest.terzo[0].checked = false" /></td>
            <td><input type=radio name="primo" value="2" onClick="document.frmTest.secondo[1].checked = false; document.frmTest.terzo[1].checked = false"/>        </td>
            <td><input type="radio" name="primo" value="3" onClick="document.frmTest.secondo[2].checked = false; document.frmTest.terzo[2].checked = false"/>
            </td>
          </tr>
          <tr>
            <td><input type=radio name="secondo" value="1" onClick="document.frmTest.primo[0].checked = false; document.frmTest.terzo[0].checked = false" /></td>
            <td><input type=radio name="secondo" value="2" onClick="document.frmTest.primo[1].checked = false; document.frmTest.terzo[1].checked = false"/></td>
            <td><input type="radio" name="secondo" value="3" onClick="document.frmTest.primo[2].checked = false; document.frmTest.terzo[2].checked = false"/></td>
          </tr>
          <tr>
            <td><input type="radio" name="terzo" value="1" onClick="document.frmTest.secondo[0].checked = false; document.frmTest.primo[0].checked = false" /></td>
            <td><input type="radio" name="terzo" value="2" onClick="document.frmTest.secondo[1].checked = false; document.frmTest.primo[1].checked = false"/></td>
            <td><input type="radio" name="terzo" value="3" onClick="document.frmTest.secondo[2].checked = false; document.frmTest.primo[2].checked = false"/></td>
          </tr>
        </table>
    </FORM>
    però dato che in realtà i radiogroup vengono creati dinamicamente in php con dei nomi progressivi (perchè potrebbero essere anche più dei tre dell'esempio).
    e considerando il fatto che di comune hanno il value (il primo è sempre "1", il secondo è sempre "2" e il terzo è "3")

    vorrei creare una funzione che selezionando un qualunque Radio che ha value "1" mi deselezioni tutti gli altri che hanno lo stesso valore. e lo stesso per il value "2" e "3".

    Ho la sensazione che più scrivo e più mi rendo incomprensibile...


  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Ti ripeto che questa istruzione:
    document.frmTest.secondo[0].checked = false;
    NON ESISTE quando il campo e` un radio.
    Forse funziona nel browser IE (e simili), ma non negli altri.

    L'unico modo che hai in JS di togliere la selezione ad un radio e` cliccare una selezione diversa.

    Esempio:
    codice:
    <input type=radio name="primo" value="1"  onclick="document.frmTest.secondo[3].click(); document.frmTest.terzo[3].click();" />
    dove devi aggiungere una quarta opzione per ogni gruppo di radio. Tale opzione puo` rimanere invisibile sulla pagina:
    codice:
    <td><input type=radio name="primo" value="1"  onclick="..." /></td>
    <td><input type=radio name="primo" value="2" onclick="..." /></td>
    <td><input type="radio" name="primo" value="3" onclick="..." />
        <input type="radio" name="primo" value="0" style="display:none;" /></td>
    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.