gpt4 book ai didi

javascript - jquery attr ('checked' ,'checked' ) 只工作一次

转载 作者:行者123 更新时间:2023-12-03 21:36:20 27 4
gpt4 key购买 nike

我在查找以下 jquery/checkbox 行为的原因时遇到问题。

$( this.obj + ' table.sgrid-content > thead > tr > th > input.select_all' ).on( 'click' , {grid:this} , function(event){

var grid = event.data.grid;

if( $(this).is(':checked') ){

$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).attr('checked','checked');
$( grid.obj + ' .sgrid-content > tbody > tr > td > input.select ' ).parents('tr').addClass('ui-state-highlight');

} else {

$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).removeAttr('checked');
$( grid.obj + ' table.sgrid-content > tbody > tr > td > input.select ' ).parents('tr').removeClass('ui-state-highlight');

}

});

该代码的工作原理如下: - 点击 input.select_all 触发事件 - 如果选中 input.select_all:将选中的属性添加到 table.sgrid-content 中标记为 .select 的所有复选框 - 如果没有:从所有 input.select 项目中删除“checked”属性。

另一个简单的网格函数。它有效。奇怪的是,它只能工作一次。我的意思是,您可以选择所有复选框并取消选择它们。此操作后,“全选”功能将停止工作。

另一个奇怪的事情是,当我用 firebug 检查 dom 元素时,它们都变成了 check='checked' attr,因为它们应该是这样,但它们的显示和行为就像没有被检查一样。

选择器按其应有的方式工作。添加/删除 ui-state-highlight 的代码部分始终有效。

解释的话:grid - 是我传递来获取 grid.obj 的对象(基本上是某个 div 的 ID)

请给我你的意见。

最佳答案

使用prop('checked', true/false)代替removeAttr

$('input[name=foo]').prop('checked', true);
$('input[name=foo]').prop('checked', false);

关于javascript - jquery attr ('checked' ,'checked' ) 只工作一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15266533/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com