一个GridView js的问题 [ 未指定版本 ]
问题是这样的:一个GridView列表,使用了CCheckBoxColumn,允许多选。比方说数据有三条A、B、C;其中C的checkbox被我设置为了disabled,但是通过表头的全选按钮,ABC三条数据还是都能被选中....但是我不想C被选中....
jQ学的不是很好。看了下js源码,但是不知道怎么改。jquery.yiigridview.js的166行~
有jQ学的比较好的可以帮忙看看
zcyxm 补充于 2014-08-25 10:53
我自己是这么做的:
`for(var i =0; i<$checks.length;i++){
if($checks[i].disabled === true)
$checks[i].checked = false;
}`
但是改了源码不太好。
楼上的方法不错。
我Yii的版本是1.1.13,CGridColumn有一个visible属性,我觉得这个属性很鸡肋,我曾认为这个属性就是控制disabled后,checkbox不显示的.....
zcyxm 补充于 2014-08-25 11:07
$(function(){
setTimeout(function(){
$(document).on('click','.grid-view th input',function(){
$('.grid-view td input:disabled').attr('checked',false);
});
},0);
});
最佳答案
-
wuyuxifeng 发布于 2014-08-25 10:35 举报
这个不需要改jquery.yiigridview.js吧 , 即使被勾中了,disbaled属性还是有的。所以你可以在 jquery.yiigridview.js 脚本执行之后再添加一个checkbox的click 监听即可。大致这样(一定要保证最后执行):
$(function(){ $('.grid-view th input').click(function(){ //简单来说让所有 disabled ,一直不能被选中 $('.grid-view td input:disabled').attr('checked',false); }); });
其他 1 个回答
-
RichardTian 回答于 2014-08-23 09:41 举报
建议你判断一下,不用disabled,直接不加checkbox,也就是判断它不需要可选时就不加checkbox,这样可以少改一些代码。
zcyxm
注册时间:2012-05-11
最后登录:2021-04-11
在线时长:152小时12分
最后登录:2021-04-11
在线时长:152小时12分
- 粉丝18
- 金钱37226
- 威望60
- 积分39346