Маркировки и скрытые поля в Internet Explorer (и jQuery)

Я испытываю затруднения при проверке скрытых флажков в IE. Это - основной HTML:

<input id="groups_ids_1" name="group_ids[]" type="checkbox" value="1" />
<label for="groups_ids_1">Display</label>

Это хорошо работает, но если я затем скрываю флажки с помощью также

$('input[type=checkbox]').hide();

или

$('input[type=checkbox]').css('visibility', 'hidden');

Нажатие на маркировку больше не проверяет флажок в IE. Конечно, это хорошо работает в Firefox, Chrome и Safari.

15
задан Peter Duijnstee 18 June 2010 в 19:27
поделиться

1 ответ

Вы можете попробовать добавить onclick к метке, чтобы обойти проблемы IE.

$('label').click(function() {
  $('#' + $(this).attr('for')).click();
});

Если это не сработает, попробуйте установить атрибут вручную.

$('label').click(function() {
  var checkbox = $('#' + $(this).attr('for'));
  if (checkbox.is(':checked')) {
    checkbox.removeAttr('checked');
  } else {
    checkbox.attr('checked', 'checked');
  }
});
12
ответ дан 1 December 2019 в 02:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: