Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543

    [jQuery] visualizzare valore di un checkbox a partire da id passato?

    Salve a tutti,
    ho delle checkbox di questo tipo
    codice:
    <input type="checkbox" name="campi[campo1]" id="campo1" value="12" onClick="mostra('campo1');" />campo 1
    <input type="checkbox" name="campi[campo2]" id="campo2" value="10" onClick="mostra('campo2');" />campo 2
    <input type="checkbox" name="campi[campo3]" id="campo3" value="40" onClick="mostra('campo3');" />campo 3
    e il relativo codice js che dovrebbe semplicemente stampare in un'alert il valore del "value", che però non mi funziona:

    codice:
    function mostra($id)
    {
    	var valore = $id.val();;
    	alert("valore: " +valore);
    }
    dove sbaglio?

    EDIT: in realtà ci sono riuscito, mettendo valore = document.getElementById($id).value;
    Ora, però, il problema è che vorrei mostrare o nascondere una div a seconda che la checkbox sia seleziona o meno. Ma non so come fare.
    "To iterate is human, to recurse, divine." (R.(Heller))

  2. #2
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Ci sono quasi.
    L'unico problema che sto incontrando è riuscire a sapere tramite JS o jquery se un checkbox è spuntato oppure no.
    Mi basta questo e dovrei aver risolto.
    "To iterate is human, to recurse, divine." (R.(Heller))

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    in jquery i selettori hanno la seguente sintassi

    $(selettore)

    Dove selettore è una stringa o un oggetto o una variabile che contiene una stringa.

    Nel caso delle stringhe o di variabili che contengono stringhe basta passare la stringa tra virgolette, per il resto la sintassi è uguale a quella utilizzata per css.

    In css il selettore per id sarebbe nella forma #campo1 per la prima checkbox.

    Quindi in jquery dovresti avere qualcosa del tipo:

    $("#campo1").

    Dunque nel tuo esempio:

    onClick="mostra('#campo1');

    codice:
    function mostra(id) { 
        var valore = $(id).val();
       alert("valore: " +valore); 
    }
    A dirla tutta puoi benissimo fare a meno di sporcare la parte html con la gestione dell'onclick.

    Potresti ad esempio settare l'attributo class delle checkbox a campi

    codice:
    <input type="checkbox" name="campi[campo1]" id="campo1" value="12" class="campi" />campo 1
    <input type="checkbox" name="campi[campo2]" id="campo2" value="10" class="campi"  />campo 2
    <input type="checkbox" name="campi[campo3]" id="campo3" value="40" class="campi"  />campo 3
    e in jquery fare:

    codice:
    $(".campi").click(function(){
        alert($(this).val());
    })

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    <input type="checkbox" name="campi[campo1]" id="campo1" value="12" onClick="mostra(this);" />campo 1

    function mostra(box)
    {
    if(box.checked){//box.checked equivale a true anteponendo ! diventa false
    alert("valore: " +box.value);
    }
    }
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    636
    per completezza in jquery puoi usare .is(":checked")

    codice:
    $(".campi").click(function(){
        if($(this).is(":checked"))
            alert($(this).val());
    })

  6. #6
    Utente di HTML.it L'avatar di the-bit
    Registrato dal
    Feb 2005
    Messaggi
    543
    Ringrazio entrambi: le vostre soluzioni tutte valide. Le provo tutte e due.
    Ancora grazie.
    "To iterate is human, to recurse, divine." (R.(Heller))

  7. #7
    Da quello che dicono nella documentazione questo e' un caso in cui sarebbe consigliabile usare prop() oppure is() come gia' detto: http://api.jquery.com/prop/
    max

    Silence is better than bullshit.
    @mmarcon
    jHERE, Maps made easy

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.