发新话题
打印

[编程] 关于checkBox组件的一个用法问题!

关于checkBox组件的一个用法问题!




怎么把checkBox复选项,选到的内容显示在动态文本里啊,那四个checkBox怎么绑定在一起,选中的话内容就显示在动态文本里,应该怎么做呢,我试过好多次也不会.

大家能否给个例子

TOP

_root.onEnterFrame = function() { if (checkB0.selected) { dataH.nameString = checkB0.label; }else{ dataH.nameString = ""; } };
未命名-1.fla (560 KB)
未命名-1.swf (61.17 KB)

TOP

200398sb40whb 兄,
不行啊,多个不行了啊.一个的话,怎么也行啊.
三个都不行了..

附件

未命名-1.fla (952 KB)

2008-5-8 17:28, 下载次数: 6

3个都不行了

TOP

一个的话,,随便放个动态文本都OK了哦

_root.onEnterFrame = function() {
        if (checkB0.selected) {
             test = checkB0.label;
        }else{
             test = "";
        }
}

TOP

引用:
原帖由 bluegirlss 于 2008-5-8 15:27 发表
是要绑的啊,,
你必须想一个办法将四个复选框组件绑在一起因为他们都指向一个问题。
只要简单的为每个复选框组件增加一个文本形式的属性group.并将
其设为相同的字符串变量。这将使你在稍后的过程中很容查看它们的状态而不
用很费事通过实例名去查看。
但我就是不知道怎么搞..显示出来
没有组,只是每个CB被单击的时候判断它是否处于选中状态,如果selected 为true则添加它的选项,如果为false则从文本中去掉它的选项。

附件

A.swf (85.37 KB)

2008-5-8 18:11, 下载次数: 14

B.swf (87.43 KB)

2008-5-8 18:11, 下载次数: 11

TOP

楼主不是要数据绑定吗?所以我用了dataholder组件呀!其实我也觉得不用数据绑定组件也可以的。

TOP

发现问题:
checkBox不能用侦听?以下代码不行?
var lisenter:Object = {};
lisenter.click = function() {
        trace(1);
};
checkB0.addEventListener("click", lisenter);

TOP

但帮助里有这样的写法的哦?为什么呢?
组件语言参考
        
  
CheckBox 组件 > CheckBox.click  
  




CheckBox.click
可用性
Flash Player 6 (6.0.79.0)。

版本
Flash MX 2004。

用法
用法 1:

var listenerObject:Object = new Object();
listenerObject.click = function(eventObject:Object) {
    // ...
};
checkBoxInstance.addEventListener("click", listenerObject);

TOP

用函数做帧听对象 AS3已经是这样的了
复制内容到剪贴板
代码:
function onClick(_evt:Object) {
        this.selected ? out_txt.text += this.label : out_txt.text=out_txt.text.split(this.label).join("");//这里的this与AS3中的this不一样。AS2中的this指发出事件的对象,而AS3指申明函数的域对象
}
cb.addEventListener("click", onClick);

TOP

果然象斑竹说得那样,现在行了!
function onclick(obj:Object) { if (obj.target.selected) { dataH.nameString = obj.target.label; } else { dataH.nameString = ""; } } checkB0.addEventListener("click", onclick); 未命名-1.fla (1.09 MB)

TOP

引用:
原帖由 终极讨厌 于 2008-5-8 18:11 发表

没有组,只是每个CB被单击的时候判断它是否处于选中状态,如果selected 为true则添加它的选项,如果为false则从文本中去掉它的选项。
那应该怎么地.去掉它应该怎么去掉的呢,版主


200398sb40whb 兄,我不需要数据库绑定啊,只是要终极讨厌版主那个效果就OK

TOP

如果为false ,,去掉时,不就全部去掉了吗.

能详细点吗,版主

[ 本帖最后由 blueboyss 于 2008-5-9 09:44 编辑 ]

TOP

不过我真的想不出加个dataHloder进行数据绑定有什么实质的好处!希望版主及高手出来解析一下。

TOP

在网上找到一样相关的例子,但还是去掉不了(label属性)
出现bug

http://www.fesso.net/checkbox2.fla

TOP

哦,这样简单:
function onclick(obj:Object) {
if (obj.target.selected) {
  _txt.text = _txt.text+obj.target.label+"\n";
} else {
  var n:Number = _txt.text.length;
  _txt.text = _txt.text.slice(0, n-10);
}
}
checkB0.addEventListener("click", onclick);
checkB1.addEventListener("click", onclick);
未命名-1.fla (1.09 MB) 未命名-1.swf (60.4 KB)

TOP

该区吃饭了

TOP

200398sb40whb 兄,经我的测试存在二个bug

------------------------------------------------------------------------------------
第1点:
当我二个都勾上时,如果我是取消CheckBox0的时候,还是显示CheckBox0,所以这个去掉的方法应该有点问题.

第2点:
这一句代码;_txt.text = _txt.text.slice(0, n-10);
如果我这二多选项的label属性是不同长度的,会出错.

TOP

FLASH023版主做的A.swf例子,没有出现这二个问题,我真是想不明白了

TOP

function onClick(_evt:Object) {
        this.selected ? out_txt.text += this.label : out_txt.text=out_txt.text.split(this.label).join("");//这里的this与AS3中的this不一样。AS2中的this指发出事件的对象,而AS3指申明函数的域对象
}
cb.addEventListener("click", onClick);
cb2.addEventListener("click", onClick);


OK了..谢谢..版主

TOP

这是我的源 文件

附件

cheakBox.rar (269.78 KB)

2008-5-9 13:49, 下载次数: 9

TOP

谢谢楼主发现了问题,我改了一下,行了:
function onclick(obj:Object) {
if (obj.target.selected) {
  _txt.text = _txt.text+obj.target.label+"\n";
} else {
  var n:Number = _txt.text.indexOf(obj.target.label);
  n == 0 ? _txt.text=_txt.text.substr(obj.target.label.length+1, (_txt.text.length-obj.target.label.length)) : _txt.text=_txt.text.substr(0, obj.target.label.length);
}
}
checkB0.addEventListener("click", onclick);
checkB1.addEventListener("click", onclick);
未命名-1.fla (1.09 MB)
未命名-1.swf (60.45 KB)

TOP

200398sb40whb兄

我也想过那个问题
这次第一次用substr..哈哈,没有注意substr(0.endNum)  前面那个0

TOP

200398sb40whb
FLASH023
谢谢你们,

因为我是做网站的,好少用到组件,平时都是用些基本的代码.
还在用as2.0的.
向你们学习,我会多动手的了.

TOP

谢谢  

完成啦.
http://www.fenix-world.com/
尊贵专属-->FENix网络沙龙

TOP

发新话题