Comment ajouter une nouvelle balise div lorsque la case à cocher est cochée à l'aide de jQuery

StackOverflow https://stackoverflow.com/questions/1204610

Question

comment ajouter une nouvelle balise div à côté de la case à cocher lorsque cette case est cochée et lorsque deux cases à cocher sont cochées, la balise deux doit être affichée. aidez-moi et aidez-moi à résoudre ce module en utilisant jquery

Était-ce utile?

La solution

$(':checkbox').click(function () {
    if ($(this).attr('checked')) {
        // create new div
        var newDiv = $('<div>contents</div>');

        // you can insert element like this:
        newDiv.insertAfter($(this));

        // or like that (choose syntax that you prefer):
        $(this).after(newDiv);
    } else {
        // this will remove div next to current element if it's present
        $(this).next().filter('div').remove();
    }
});

Si vous ne souhaitez pas ajouter cette nouvelle div à côté du libellé de la case à cocher, assurez-vous tout d'abord que l'id est défini pour vos cases à cocher et que l'attribut utilisé dans les libellés permet de connecter les libellés avec les cases à cocher:

<label for="myCb1">test</label>
<input type="checkbox" id="myCb1" value="1" />

Vous pouvez maintenant modifier un peu le code JS ci-dessus et vous avez terminé:

$(':checkbox').click(function () {
    // current checkbox id
    var id = $(this).attr('id');

    // checkbox' label
    var label = $('label[for=' + id + ']');

    if ($(this).attr('checked')) {
        // create new div
        var newDiv = $('<div>contents</div>');

        // insert div element
        newDiv.insertAfter(label);
    } else {
        // this will remove div next to current element if it's present
        label.next().filter('div').remove();
    }
});
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top