根据选择的单选按钮,我需要启用或禁用整个复选框选项列表。当选择要求禁用时,我正在使用它:
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答案时,我的头开始旋转。其中一天。
答案 0 :(得分:1)
您似乎正在尝试修改<input>
的颜色属性,而不是您想要的<label>
标记。
您必须更改document.addPNtoDNC[i]
部分以引用标签(不知道您在这里做了什么)。 document.addPNtoDNC[i].parentNode
应该有效,因为输入标记位于标记1中。
答案 1 :(得分:1)
我认为你在自己身上做的比实际更难。你应该做的是为class
创建一个CSS选择器,然后在通过简单的javascript检查复选框时应用该类。同样,您也可以在取消选中该复选框时删除该类。我知道你要求一个非JQuery解决方案,所以在这里看一下:
Change an element's class with JavaScript
这是通过纯Javascript添加和删除类的方法。它看起来并不太糟糕,但是做到这一点肯定看起来很麻烦?
那是因为它确实是JQuery非常好的原因。我不会给你一个JQuery答案,因为你说不,但我仍然会推荐它。你可以随意逃离JQuery,但是如果你花一小时的时间学习JQuery或Prototype或其他什么,你会发现你不需要做那么多的工作。 JQuery有一个很好的toggleClass()函数,它让你的生活更轻松。希望这可以帮助。如果您需要帮助,请不要害怕。这包括学习JQuery。