2013-01-22 92 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

相關問題