web-dev-qa-db-fra.com

Bibliothèque iCheck: valeur du bouton radio sélectionné

jsFiddle ici .

Je suis novice en Javascript et j'ai du mal à suivre la documentation sur la page iCheck . J'ai suivi la réponse à ce qui semble être une question StackOverflow très pertinente ici mais je ne peux pas recevoir d'alerte pour afficher la valeur que j'ai sélectionnée. Quelqu'un peut-il m'orienter dans la bonne direction, s'il vous plaît?

HTML

<p>Are you sure you want to have your details removed from our marketing list?</p>
<div id="unsubscribe_radio">
    <ul>
        <li>
            <input type="radio" name="iCheck" value="yes">
            <label>Yes</label>
        </li>
        <li>
            <input type="radio" name="iCheck" value="no">
            <label>No</label>
        </li>
    </ul>
</div>

Javascript

$(document).ready(function () {
  $('input').iCheck({
     radioClass: 'iradio_flat-orange'
  });
  $("input:radio[name=iCheck]").click(function () {
     var value = $(this).val();
     alert("You clicked " + value);
  });
 });
14
Clive van Hilten

Vous devez utiliser iCheck comme ceci

$(document).ready(function () {
    $('input[name="iCheck"]').on('ifClicked', function (event) {
        alert("You clicked " + this.value);
    });
    $('input').iCheck({
        radioClass: 'iradio_flat-orange'
    });
});

[~ # ~] démo [~ # ~]

Documentation

30
Anton

Juste une autre façon hacky d'obtenir la valeur vérifiée avec les sélecteurs jQuery:

$(".checked input[name=name-of-original-input]").val();

Mais la classe par défaut AFAIK pour les valeurs vérifiées peut être modifiée dans la configuration.

BTW, je pense que iCheck n'est pas un bon choix s'il crée de tels problèmes avec des fonctionnalités très simples.

14
simplylizz

J'ai trouvé les autres réponses utiles. Cependant, ils dépendent de "ifClicked" d'iCheck. Vous ne souhaiterez peut-être pas que la valeur s'affiche chaque fois qu'un nouveau bouton radio est sélectionné, mais uniquement lorsqu'un utilisateur frappe un bouton spécifique appelant l'alerte et la valeur correspondante.

Par exemple:

$(document).on('click', '.buttonClass', function(event) {
  return alert($('.radioClass:checked').val());
});
6
Sean L

Essayez ceci: - http://jsfiddle.net/adiioo7/yhmu97qh/

JS: -

$(document).ready(function () {
    $('input').iCheck({
        radioClass: 'iradio_flat-orange'
    });

    $('input').on('ifClicked', function (event) {
        var value = $(this).val();
        alert("You clicked " + value);
    });
});
6
Aditya Singh

cela fonctionne pour moi ... essayez-le

HTML: <input type="checkbox" id=checkbox" name="checkbox" />

jQuery: $( "#checkbox" ).prop("checked");

1
Monzur

Pour les boutons radio et la version actuelle d'iCheck:

<div class="row">
    <div class="col-lg-1">
        <div class="form-group">
            <label>
                <input type="radio" name="my-radio" class="flat-green my-radio" value="true"> Yes
            </label>
        </div>
    </div>
    <div class="col-lg-1">
        <div class="form-group">
            <label>
                <input type="radio" name="my-radio" class="flat-red my-radio" value="false"> No
            </label>
        </div>
    </div>
</div>

JS:

var isChecked = $("input[name=my-radio]:checked").val();

Il retournera indéfini si aucune option n'est sélectionnée, vrai ou faux s'il est sélectionné.

0
RenanStr