Ответ 1
Привяжите обработчик change
, затем просто снимите флажки всех флажков, кроме отмеченного:
$('input.example').on('change', function() {
$('input.example').not(this).prop('checked', false);
});
У меня есть общий флажок 6 (может быть добавлен еще больше в будущем), и я хочу разрешить только его выбирать, поэтому, когда пользователь проверяет, какой-либо из них должен быть снят, следует отключить.
Я попытался с этим кодом и отлично работает, если я определил ID, но теперь просто задаюсь вопросом, как сделать его наоборот, так что в будущем, если я добавлю больше, чем это не проблема
$('#type1').click(function() {
$('#type2').not('#type1').removeAttr('checked');
});
FYI, флажки не принадлежат друг другу и находятся в разных <td>
Привяжите обработчик change
, затем просто снимите флажки всех флажков, кроме отмеченного:
$('input.example').on('change', function() {
$('input.example').not(this).prop('checked', false);
});
вы можете использовать класс для всех своих флажков и выполните следующие действия:
$(".check_class").click(function() {
$(".check_class").attr("checked", false); //uncheck all checkboxes
$(this).attr("checked", true); //check the clicked one
});
Попробуйте это
$(function() {
$('input[type="checkbox"]').bind('click',function() {
$('input[type="checkbox"]').not(this).prop("checked", false);
});
});
Попробуйте это
$("[id*='type']").click(
function () {
var isCheckboxChecked = this.checked;
$("[id*='type']").attr('checked', false);
this.checked = isCheckboxChecked;
});
Чтобы сделать его еще более общим, вы также можете найти флажки с помощью общего класса, реализованного на них.
Модифицированная...
Я думаю, что метод prop более удобен, когда речь заходит об атрибуте boolean. http://api.jquery.com/prop/
$('.cw2').change(function () {
if ($('input.cw2').filter(':checked').length >= 1) {
$('input.cw2').not(this).prop('checked', false);
}
});
$('td, input').prop(function (){
$(this).css({ 'background-color': '#DFD8D1' });
$(this).addClass('changed');
});