2010-10-13 80 views
0

我的情况是:我做了一个简单的收件箱页面。收件箱是由DevExpress网格制成的列表。网格中的每一行都有一个用户可以检查的复选框,以便他们可以多次删除记录(类似于雅虎邮件等)。ASP.net MVC设置复选框检查客户端

当用户点击选择所有链接或清除所有链接,我需要进行检查电网或未经检查中设置的所有复选框。我如何通过客户端脚本来解决这个问题?谢谢

回答

0

使用jQuery应该很了解快速假设你可以使用其中一个选择器来选择所有的复选框(查看不同的jquery选择器http://api.jquery.com/category/selectors/)。

附上切换处理:

$('Selector for the "select all" checkbox>').toggle(function() { 
    alert('First handler for .toggle() called.'); 
}, function() { 
    alert('Second handler for .toggle() called.'); 
}); 

选择所有的复选框,并切换当切换其他复选框的选中状态:

$('<Selector for the ones you want to toggle>').attr('checked', true); 

提供一些样本HTML,或一个链接到一个网页,如果你需要进一步的帮助。

所以把它在一起,假设你的“全选”复选框有“uxSelectAll”的ID和你想改变有一个CSS类“复选框,邮件项”的那些它会是这样的:

$('#uxSelectAll').toggle(function() { 
    $('.checkbox-mail-items').attr('checked', true); 
}, function() { 
    $('.checkbox-mail-items').attr('checked', false); 
}); 
2

最简单的方法是使用jQuery。有了正确的选择器,它几乎是一个班轮。我不知道有多少你知道的jQuery所以这里是一个链接到选择的文档,如果你想读了起来:

http://api.jquery.com/category/selectors/

的选择将取决于你的页面的布局。我用这样的事情之前已经做到了:

$("#tableId tr td input:checkbox").attr("checked", true); 

在这个例子中所有的复选框的表中以“TABLEID”的ID进行检查

0

可以为所有的复选框创建委托(jQuery的),一旦你做到了以上问题的答案。喜欢的东西,为每个复选框执行操作:

$('div.myGridDivClass tbody').delegate(':checkbox', 'click', function(){ 

      var $checkedRow = $(this), $row = $checkedRow.closest('tr') 
// check row is checked 
// toggleclass for checked css class and apply to the $row or whatever u want 
// do something here 
});