2013-01-22 64 views
0

基于选择的单选按钮,我需要启用或禁用整个复选框选项列表。当选择要求禁用我用这个:如何更改HTML表单中某些元素的颜色

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

复选框没有颜色。 – j08691

回答

1

看起来您正试图修改<input>的颜色属性,而不是您想要的<label>标记的颜色属性。 您必须更改document.addPNtoDNC[i]部分才能引用标签(不确切知道您在此处做什么)。由于输入标签位于标签内部,所以应该可以使用document.addPNtoDNC[i].parentNode

+0

非常感谢。我没有意识到这一点。 – Amarundo

1

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

Change an element's class with JavaScript

这是如何添加,并通过纯JavaScript删除类。它看起来不错,但看起来像很多麻烦,只是做对了吗?

这是因为它是,这正是为什么JQuery是如此的好。我不会给你一个JQuery的答案,因为你不说,但我仍然会推荐它。你可以尽可能远离JQuery,但如果你花一小时的时间学习JQuery或Prototype或其他什么,你会发现你不必做太多的工作。 JQuery有一个不错的toggleClass()函数,它让你的生活变得更容易。希望这可以帮助。如果你需要帮助,不要害怕问。这包括学习JQuery。

+0

谢谢。伟大的信息。只要其他答案直接适用于我所需要的,快速。 – Amarundo

相关问题