Привет, я так много смотрел. Есть много подобных вопросов, но не смог найти мой ответ.
У меня есть два флажка следующим образом:
<div class="custom-chk">
<label>
<input name="Residential" id="Residential" class="upsfilter" type="checkbox" />
Residential
</label>
</div>
<div class="custom-chk">
<label>
<input name="Commercial" id="Commercial" class="upsfilter" type="checkbox" />
Commercial
</label>
</div>
Я проверяю / снимаю флажок со следующего: (если один проверяет другой, снимите флажок)
$('.upsfilter').on('click', function (e) {
if ($(this).prop('checked')) {
$('.upsfilter').prop('checked', false);
$('.upsfilter').parent().removeClass('checked');
$(this).prop('checked', true);
$(this).parent().addClass('checked');
}
)};
$('.upsfilter').on('click', function(e) {
if ($(this).prop('checked')) {
$('.upsfilter').prop('checked', false);
$('.upsfilter').parent().removeClass('checked');
$(this).prop('checked', true);
$(this).parent().addClass('checked');
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<div class="custom-chk">
<label>
<input name="Residential" id="Residential" class="upsfilter" type="checkbox" />
Residential
</label>
</div>
<div class="custom-chk">
<label>
<input name="Commercial" id="Commercial" class="upsfilter" type="checkbox" />
Commercial
</label>
</div>
label class="checked"
показывает маленький пользовательский квадрат в флажке.
С кодами выше:
а) Firefox, Chrome. Проверка / снятие отметки работает, но label class = "флажок" работает наоборот. (показывает квадратик, если установлен флажок false)
б) IE 11 работает нормально
Но если я уберу $(this).parent().addClass('checked');
Firefox и Chrome работают нормально, но IE делает то же самое (а)
Есть ли проблема совместимости с IE, Chrome или Firefox? IE реакция имеет больше смысла. Любая помощь будет оценена.
Спасибо.