0

基于对单选按钮的选择,我需要启用或禁用整个复选框选项列表。When the selection calls for a disable I'm using this:

function radioSelectDNC() {
    for (i = 3; i < document.addPNtoDNC.elements.length - 1; i++) {
        document.addPNtoDNC[i].disabled=true;      // this is working
        document.addPNtoDNC[i].style.color="blue"; //this line is not working
    } 

禁用有效,但复选框选项文本的颜色无效。这是一个很长的表格,但以防万一,这是我列出复选框选项的方式:

            <label><input type="checkbox" name="Campaign" value="Value1">Value1<br></label>
            <label><input type="checkbox" name="Campaign" value="Value2">Value2<br></label>
            <label><input type="checkbox" name="Campaign" value="Value3">Value3<br></label>

我使用了正确的属性吗?我在哪里可以找到房产列表?

哦,为了以防万一,请不要给我 jQuery。我才刚刚开始,每次我搜索并找到 jQuery 答案时,我都开始头晕目眩。这些日子中的一天。

4

2 回答 2

1

您似乎正在尝试修改 的颜色属性,而<input>不是<label>您想要的标签之一。您必须更改document.addPNtoDNC[i]零件以改为引用标签(不确切知道您在这里做什么)。document.addPNtoDNC[i].parentNode应该可以工作,因为输入标签在标签一内。

于 2013-01-22T03:50:00.043 回答
1

我认为你让自己变得比必要的更难。您应该做的是为 a 创建一个 CSS 选择器class,然后在通过简单的 javascript 检查复选框时应用该类。同样,您也可以在未选中复选框时简单地删除该类。我知道您要求使用非 JQuery 解决方案,因此请看一下:

使用 JavaScript 更改元素的类

这就是您通过纯 Javascript 添加和删除类的方式。看起来还不错,但简单地做这件事肯定看起来很麻烦,对吧?

那是因为它是,这正是 JQuery 如此出色的原因。我不会给你一个 JQuery 答案,因为你拒绝了,但我仍然会推荐它。您可以随心所欲地远离 JQuery,但如果您花一个小时的时间来学习 JQuery 或 Prototype 或其他任何东西,您会发现您不必做太多工作。JQuery 有一个不错的toggleClass()函数,它让你的生活更轻松。希望这可以帮助。如果您需要帮助,请不要害怕询问。这包括学习 JQuery。

于 2013-01-22T04:13:30.110 回答