Вопрос

У меня есть скрипт jQuery, который будет отображать определенные div в зависимости от того, какая опция выбора была выбрана.

Вот код для этого:

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();
  });
});

(пример 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>

Я бы хотел снять все флажки внутри div (.company_1, .company_2 и т. д.), если кто-то выберет другую опцию. Если это имеет смысл? :)

Спасибо!

Это было полезно?

Решение

Снятие флажка достигается удалением атрибута с именем " флажок " ;. Попробуйте:

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

Другие советы

@ Дэвид Андрес спасибо, что указали мне правильное направление. Я не смог заставить ваш код работать, но использовал:

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

который работал.

Как насчет:

$("div.company_1 input[type:checkbox]").removeAttr("checked");
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top