我有一个复选框列表,想要选中唯一一个复选框并添加复选框输入的类,然后选择另一个复选框从现有复选框中删除该类
$('input.myclass').click(function ()
{
var id = $(this).attr('id').replace('image-','');
$('input.myclass:checked').not(this).removeAttr('checked');
var sFilter = "";
$('input.myclass[type=checkbox]').each(function () {
sFilter = sFilter + (this.checked ? $(this).val() : "");
});
check();
});
function check(){
var a = $('input:checkbox[name=cover_image]:checked').val();
alert(a);
}
如果未选中该复选框,我只想为选中的复选框选择一个复选框和类,然后删除该类的
答案 0 :(得分:1)
如果你真的想出于某种原因使用复选框(而不是单选按钮),请执行以下操作:
$('input:checkbox').on('click', function () {
$('input.selected').removeClass('selected').prop('checked', false);
$('input:checked').addClass('selected');
});
编辑:删除属性有效,但属性操作是一种更好的方法(如RobG所建议)
答案 1 :(得分:1)
您可以使用on()
收听复选框组的更改。
var $checkBoxes = $(":checkbox").on("change", function () { // Here listening the changes on checkbox using on()
$checkBoxes.removeClass("change").attr("checked", false); // remove the class from existing Checkbox
$(this).addClass("change").attr("checked", true); // adding the class for the currenly checked checkbox
});
工作FIDDLE就在这里
答案 2 :(得分:1)
出于您的目的,首先从所有复选框中删除类并取消选中它们,然后将类添加到单击复选框并将其选中,如下所示
$("input[type='checkbox']").on('click', function () {
$("input[type='checkbox']").removeClass('selected').attr('checked', false);
$(this).addClass('selected').attr('checked', true);
});
检查此问题Fiddle