我想取消选中具有特定类的所有复选框,但刚才选中的复选框除外。

function PizzaToppings_OptionValueChanged(checkboxElement) {
    if ($(checkboxElement).attr("checked")) {
        if($(checkboxElement).hasClass('cheese_toppings'))
        {
            // This will uncheck all other "cheese_toppings" but I want the newly selected item "checkboxElement" to remain checked.
            $('input:checkbox.cheese_toppings').attr('checked', false);
        }
    }
}


上面的代码将取消选中所有“ cheese_toppings”,包括刚刚选择的一个。我不想再次检查刚刚选择的那个,否则该事件将被召回。

我认为最好的解决方案是从$('input:checkbox.cheese_toppings')返回的列表中删除“ checkboxElement”,然后将.attr('checked', false)设置为该列表。但是我不确定如何从列表中删除checkboxElement。

最佳答案

$('input:checkbox.cheese_toppings').not(checkboxElement).attr('checked', false);


请参阅jQuery文档:.not()

08-04 03:00