我限制了已选中复选框的数量,但在firefox上样式不正确。 实际上是一个带有状态按钮的firefox上的bug,请参阅firefox上的这个例子, 当您双击某个按钮时,如果lengh> gt,则状态不会更新。 3(在这种情况下),所以我尝试删除类的ui状态,但它不起作用,是否有人得到了解决方案?!
$('.limit :checkbox').change(function () {
var $cs=$(this).closest('.limit').find(':checkbox:checked');
if ($cs.length > 3) {
$(this).prop('checked', false).removeClass("ui-state-active ui-state-hover ui-state-focus").button('refresh');
问候 杰斯
答案 0 :(得分:1)
这是一个奇怪的错误,因为它发生在双击事件上。这就是为什么你的代码不起作用的原因,因为在双击时没有发生“更改”事件。因此,您无法更改状态并删除“onchange”中的类。 作为这个有趣问题的解决方案,我试图添加这样的:
$('.limit label').dblclick(function () {
if (!$(this).is(':checked'))
{
$(this).removeClass("ui-state-active ui-state-hover ui-state-focus ");
}
});
这会处理奇怪的双击并删除样式,如果它们在未选中的复选框上未正确应用。