找回密码
 注册成为天翎用户
查看: 1292|回复: 5

复选框全选脚本

[复制链接]
icojones 发表于 2012-5-8 13:02:48 | 显示全部楼层 |阅读模式
本帖最后由 purple 于 2012-5-11 09:59 编辑

我写了一个复选框全选脚本,用一个名为'全选选项'并仅包含一个选项为"全选"的复选框,来控制另一个通过数据库查询生成选项的复选框是否全部选中,这个脚本写在受控复选框的选项脚本中。

//--复核范围全选

var isChecked = false;
var allChecked = getItemValue("全选选项");

if (allChecked == "全选") {
isChecked = true;
}
var opts = createOptions();
var dql = "$formname='复核范围参数' and 流程='测量'";
var datas = queryByDQL(dql);

for (var it = datas.iterator();datas!=null && it.hasNext();){
      var doc = it.next();
      var name = doc.getItemValueAsString("复核范围");
      var value = doc.getItemValueAsString("复核范围");
      opts.add(name,value,isChecked);
}
opts;

全选复选框已经设置为刷新,受控复选项设置为重计算。
现在的问题是:
1、前台测试时第一次选中全选运行正常,取消全选却无效。
2、如果手动勾选了若干受控复选框,再点击全选也无效。

是否我的代码有问题?
irene 发表于 2012-5-8 13:55:47 | 显示全部楼层
您好,请问您的“全选选项”是何种类型的控件?同时请用println("allCheked======="+allChecked);语句将allChecked变量的值在控制台中输出,看其是否成功获取您“全选选项”字段的值
回复

使用道具 举报

 楼主| icojones 发表于 2012-5-8 15:00:51 | 显示全部楼层
全选控件是一个复选框

勾选[全选]后:
allChecked=======全选
isChecked=======true
取消[全选]后:
allChecked=======
isChecked=======false

成功取值,而且逻辑看起来是正确的。

不过复选框是否也要考虑到值,而不仅仅是选项?是否应该在值脚本中定义选项是否选中呢?
回复

使用道具 举报

purple 发表于 2012-5-8 18:40:22 | 显示全部楼层
您好,这部分我们这边测试之后,再回复您。带来不便,敬请见谅。
回复

使用道具 举报

irene 发表于 2012-5-10 15:29:07 | 显示全部楼层
您好,将您 opts.add(name,value,isChecked);改为 opts.add(name,isChecked,isChecked);即可。您先试试,有问题我们再沟通
回复

使用道具 举报

 楼主| icojones 发表于 2012-5-11 09:57:31 | 显示全部楼层
确实可以了,感谢,又学了一招。
回复

使用道具 举报

本版积分规则

手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 19:34

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表