2011-06-28 75 views
1

我試圖檢查天氣複選框被選中或未選中。這是我的代碼:如何檢查複選框選中或未選中JavaScript?

<script type="text/javascript"> 
function EnableDisableToolTip() { 
    if (document.forms[0].help_text.checked) { 
     alert("Checked"); 
    } 
    else if (!document.forms[0].help_text.checked) { 
    alert("Unchecked"); 
    }   
} 
</script> 


<div id="tooltiponoff"> 
<form action=""> 
@Html.CheckBox("help_text", true, new { id = "help_text", onclick = "EnableDisableToolTip()" })Hjælpetekst 
</form> 
</div> 

它只是提醒未選中時,我提前點擊

感謝

+3

可能重複[JavaScript來檢查一個複選框是否被選中或取消選中(http://stackoverflow.com/questions/473562/javascript-to-check-whether- a-checkbox-is-being-checked-or-unchecked) –

+0

檢查'alert(document.forms [0] .help_text)'給出..?如果未定義,可能會始終處於其他情況。 – niksvp

回答

2

它似乎適用於我 - 請參閱this fiddle。請注意,事件偵聽器是由Javascript添加的,而不是使用內聯onclick語法。

2

嘗試

< script type="text/javascript" > 
function EnableDisableToolTip(Control) { 
    if (Control.checked) { 
     alert("Checked"); 
    } 
    else { 
    alert("Unchecked"); 
    }   
} 
</script> 


< div id="tooltiponoff" > 
< form action="" > 
@Html.CheckBox("help_text", true, new { id = "help_text", onclick = "EnableDisableToolTip(this)" })Hjælpetekst 
</form> 
</div> 
1

確保您使用正確的引用對象控制檯或警報document.forms [0] .help_text。這很可能不是正確的參考。

alert(document.forms[0].help_text); 
-1

你的代碼很好,但不是很好。例如,當多次單擊複選框後,取消單擊,然後複選框重新開始。我的英語很糟糕,我無法解釋但是:你檢查了很多複選框,然後落入if語句。然後取消點擊,這是其他語句。並檢查掉落。您的代碼正在開發這樣的:

  var count = 0; 
      function Tik(Control) { 
       if (Control.checked) { 
        count++; 
       } 
       else { 
        count--; 
       } 
       if (count > 0) { 
        document.getElementById("btnMessageDel").disabled = false; 
       } 
       else { 
        document.getElementById("btnMessageDel").disabled = true; 
       } 
      } 

<input type="submit" id="btnMessageDel" name="btnMessageDel" class="btn btn-primary" value="Delete" form="messagesform" disabled /> 
<input type="checkbox" value="@MessageId" name="chkMessage" id="chkMessage" onclick="Tik(this)" />