Question

J'ai un script jQuery qui affiche des div spécifiques en fonction de l'option de sélection sélectionnée.

Voici le code pour cela:

jQuery.noConflict();
jQuery(document).ready(function() {
  jQuery.viewMap = {
    '' : jQuery([]),
    '1' : jQuery('.company_1'),
    '2' : jQuery('.company_2')
  };
  jQuery('#companyid').change(function() {
    jQuery.each(jQuery.viewMap, function() { this.hide(); });
    jQuery.viewMap[jQuery(this).val()].show();
  });
});

(exemple div)

<div class="company_1" style="display: none;">
  <input type="checkbox" name="classifications[Miner]" id="classifications[Miner]" /> Spec/Rough
  <input type="checkbox" name="classifications[Dealer]" id="classifications[Dealer]" /> Dealer
</div>

J'aimerais que toutes les cases à cocher à l'intérieur du div (.company_1, .company_2, etc.) soient effacées si quelqu'un sélectionne une option différente. Si ça a du sens? :)

Merci!

Était-ce utile?

La solution

Désélectionnez une case à cocher en supprimant l'attribut nommé "coché". Essayez:

jQuery.each(jQuery.viewMap, function() {
    this.hide();
    jQuery('input:checkbox', this).removeAttr('checked');
});

Autres conseils

@David Andres merci de m'avoir orienté dans la bonne direction. Je ne pouvais pas faire fonctionner votre code, mais je l'utilisais:

$("div.company_1 input:checked").removeAttr("checked");

qui a fonctionné.

Que diriez-vous de:

$("div.company_1 input[type:checkbox]").removeAttr("checked");
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top