【求助!!】如何用JS设置checkbox中被选中框旁边文字的颜色?

ours 2006-02-23 09:51:13
有N个checkbox控件,想实现当某个复选框被选中时,它旁边的文字变成红色。请问:如何用JS设置checkbox中被选中框旁边文字的颜色,
我能遍历到其中被选中的项,但无法设置其文字的颜色。

。。。
if(obj.checked){
obj.style.color="red";
}
。。。

obj.style.color="red";//这句没效果。
...全文
1284 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
ours 2006-02-23
  • 打赏
  • 举报
回复
搞定了.多谢各位的帮助!!!
ours 2006-02-23
  • 打赏
  • 举报
回复
现在正在测试 mgzhenhong(可耻地取了这样一个名字)的方法,
感觉不行,因为:
var labels = document.getElementsByTagName("Lable"); //获取所有的label标签
labels.length的值为0.

其它的方法还在测试中....
rimguncheng 2006-02-23
  • 打赏
  • 举报
回复
不错, 写法真有感觉啊,

从来没这个样子写过,

还是要多多学习啊
chouchy 2006-02-23
  • 打赏
  • 举报
回复
只要textnode外面有html标签就行;

<script language="javascript">
function chgColor()
{
var obj=event.srcElement;
obj.nextSibling.style.color=(obj.checked)?"red":"";
}
</script>
<input type="checkbox" value="1" onclick="chgColor()"><label>选择一</label>
mgzhenhong 2006-02-23
  • 打赏
  • 举报
回复
循环匹配
<Script>
function OC(o){
var labels = document.getElementsByTagName("Lable"); //获取所有的label标签
for(i=0;i<labels.length;i++){ //循环测试每个label标签 是否属于当前checkbox
if(labels[i].htmlFor==o){
var lc = o.checked?"red":"green";
labels[i].style.color = lc;
exitfor();
}
}
}
</Script>
(仍然未调试......)
chouchy 2006-02-23
  • 打赏
  • 举报
回复
<script language="javascript">
function chgColor()
{
var obj=event.srcElement;
obj.nextSibling.style.color=(obj.checked)?"red":"";
}
</script>
<input type="checkbox" value="1" onclick="chgColor()"><span>选择一</span>
<input type="checkbox" value="2" onclick="chgColor()"><span>选择二</span>
<input type="checkbox" value="3" onclick="chgColor()"><span>选择三</span>
<input type="checkbox" value="4" onclick="chgColor()"><span>选择四</span>
KimSoft 2006-02-23
  • 打赏
  • 举报
回复
<form id="form1" name="form1" method="post" action="">
<input type="checkbox" name="xx" value="1" id="xx" onclick="this.checked == true ? document.getElementById('lbl_xx').style.color='#FF0000' : document.getElementById('lbl_xx').style.color='#00FF00'"/>
<label for="xx" id="lbl_xx">复选框</label>
</form>
KimSoft 2006-02-23
  • 打赏
  • 举报
回复
<form id="form1" name="form1" method="post" action="">
<input type="checkbox" name="xx" value="1" id="xx" onclick="this.checked == true ? document.getElementById('lbl_xx').style.color='#FF0000' : document.getElementById('lbl_xx').style.color='#00FF00'"/>
<label for="checkbox" id="lbl_xx">复选框</label>
</form>
ours 2006-02-23
  • 打赏
  • 举报
回复
实际上我是在ASP.NET下使用的checkboxlist控件,无法直接加<DIV>或<SPAN>.
我看了一下客户端IE解析的源代码:checkboxlist被IE解析成如下样式了:
<table id="chklEngineer" onclick="return SetBgbColor(this)" border="0">
<tr>
<td><input id="chklEngineer_0" type="checkbox" name="chklEngineer:0" />
<label for="chklEngineer_0">AAA</label>
</td>
<td><input id="chklEngineer_1" type="checkbox" name="chklEngineer:1" />
<label for="chklEngineer_1">BBB</label>
</td>
</tr>
</table>

---------------
现在是无法设置上面的“AAA”或“BBB”文本的颜色。
或者说如何遍历table中的每单元格中文本的颜色?
lizongyu 2006-02-23
  • 打赏
  • 举报
回复
写个style,假如叫FontRed吧,把字体设为红色
obj.className = "FontRed";
mgzhenhong 2006-02-23
  • 打赏
  • 举报
回复
用div或者span吧
例如:
<Input Type="CheckBox" ID="CheckBox1" OnClick="OC(this)"><Span ID="CheckBox1_Span">内容</Span>

<Script>
function OC(o){
var os = document.getElementById(o.id+"_Span");
var os_color = o.checked?"red":"green";
os.style.color = os_color;
}
</Script>
(未调试......)
ybfqlyq 2006-02-23
  • 打赏
  • 举报
回复
應該加個<div>元素吧。然後再調用<DIV>對象的樣式

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧