PiW*_*iWo 25 javascript checkbox jquery checked
我找到以下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');
}
});
Run Code Online (Sandbox Code Playgroud)
该代码旨在按如下方式工作: - 单击input.select_all触发事件 - 如果选中input.select_all:将选中的属性添加到table.sgrid-content中标记为.select的所有复选框 - 如果不是:删除'已选中'来自所有input.select项的属性.
又一个简单的网格功能.它有效.奇怪的是,它只工作一次.我的意思是,您可以选中所有复选框并取消选中它们.在该操作之后"全部选择"功能停止工作.
另一个奇怪的事情是,当我用萤火虫检查dom元素时,它们都应该被检查='检查'attr,但是它们显示并表现为没有检查.
选择器可以正常工作.添加/删除ui-state-highlight的代码部分始终有效.
explenation的词: grid - 是我传递给grid.obj的对象(基本上是一个ceratain div的ID)
请给我你的意见.
Mar*_*lak 73
使用prop('checked',true/false)代替removeAttr
$('input[name=foo]').prop('checked', true);
$('input[name=foo]').prop('checked', false);
Run Code Online (Sandbox Code Playgroud)