2011-06-28 56 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)" />