Visualizzazione risultati 1 fino 3 di 3

Discussione: Rendere input button come radio

  1. #1
    Guest

    Predefinito Rendere input button come radio

    Vi spiego meglio:
    Io ho una serie di input con type Button a cui ho assegnato rispettive classi CSS così da non farli sembrare degli input ma veri e propri div.
    Quindi in pratica ho una lista di input, che se ne clicco uno, si seleziona (cambia sfondo e colore del testo) e mostra il rispettivo contenuto in un altro div (immaginate Twitter: cliccki sul tweet e si apre a destra tutto il contenuto).
    Solo che se ne cliccko di più, ovviamente rimangono selezionati quelli clicckati in precedenza.
    Visto che non conosco il numero di input (ricavo la lista da una query) avrei bisogno di un sistema che:
    Quando cliccko un input, TUTTI gli altri (anche nella pagina intera, tanto ci sono solo quelli) vengono deselezionati (quindi cambia lo style CSS).
    Io, per rendere visibile e permanente la selezione dell'input (perchè c'è solo lo stato :active su CSS) ho usato JS:
    Codice:
    <input type="button" id="in..." onClick="document.getElementById('...').style.display='block'; document.getElementById('li...').style.backgroundColor='#666'; document.getElementById('in...').style.color='#FFF';" />
    '...' sta per l'ID del div che setto tramite la query (ciclo in while) PHP.
    In pratica: se cliccko l'input cambia sfondo e colore, però vorrei che gli altri tornassero come prima, possibilmente tramite JS (ho pensato così, anche perchè con CSS non si può far molto).

    Oppure c'è qualche metodo che mi permetta di ottenere lo stesso risultato con i radio? Solo che non riesco mai a farli funzionare sti radio, nel senso che sono tutti selezionabili, come i checkbox.

  2. #2
    L'avatar di javascripter
    javascripter non è connesso Moderatore
    Data registrazione
    14-02-2010
    Messaggi
    1,114

    Predefinito

    Ho capito cosa vuoi fare.
    Non è necessario usare un framework ( jQuery ), anche se facilita il lavoro.

    Potresti assegnare al div che è aperto un'altra classe ( per esempio, open ). Quando poi clicki su un altro bottone, con javascript trovi l'elemento con classe open e lo nascondi.

    Se posti il codice completo, oppure un link alla pagina, sarebbe più facile aiutarti.

  3. #3
    Guest

    Predefinito

    Scusa la tarda risposta, ma non ricevevo più le mail dal forum.
    Comunque, è proprio la home.
    http://mcserver.altervista.org/
    E comunque, dovrei fare tipo Steam (non so se hai presente):
    La lista di post a sinistra (i titoli), ed a destra, dopo il click su un titolo, si apre tutto il contenuto del rispettivo post.
    Se ne cliccko un altro deve deselezionarsi sulla lista a sinistra quello precedente, ed invece dovrebbe scomparire il contenuto vecchio e comparire quello nuovo (display: none; ...display: block;).
    Visto che ho tutto nascosto, e non devo fare una query ogni volta con Ajax per esempio.
    Ultima modifica di mcserver : 19-07-2011 alle ore 18.46.13

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •