如何从链接到标签[Javascript]的复选框中获取选中状态

如何从链接到标签[Javascript]的复选框中获取选中状态,javascript,checkbox,label,checked,Javascript,Checkbox,Label,Checked,我有一个标签链接到这样的复选框 <asp:CheckBox runat="server" ID="chk1" /> <asp:Label ID="lbl1" runat="server" AssociatedControlID="chk1" onclick="verifyCheck('lbl1', 'chk1')" /> 我的javascript函数 <script type="text/javascript"> functi

我有一个标签链接到这样的复选框

    <asp:CheckBox runat="server" ID="chk1" />
    <asp:Label ID="lbl1" runat="server" AssociatedControlID="chk1" onclick="verifyCheck('lbl1', 'chk1')" />  

我的javascript函数

<script type="text/javascript">
    function verifyCheck(label, checkbox)
    {
        var labelCtrl = document.getElementById(label);
        var checkboxCtrl = document.getElementById(checkbox);
        labelCtrl.style.background = checkboxCtrl.checked ? alert('1') : alert('2');
    }

</script>

功能验证检查(标签、复选框)
{
var labelCtrl=document.getElementById(标签);
var checkboxCtrl=document.getElementById(复选框);
labelCtrl.style.background=checkboxCtrl.checked?警报('1'):警报('2');
}

因此,当我单击标签时,它会在复选框下进行检查,但javascript不会从复选框返回实际值。太晚了。javascript将执行,复选框将在稍后可视地更改其状态。那个么,我该如何改变这种方法,以在单击复选框时获取真实状态呢。因此,我的警报会做出相反的反应。

您必须侦听复选框上的onchange事件,当您单击标签时,该事件仍会触发

<asp:CheckBox runat="server" ID="chk1" onchange="verifyCheck('lbl1', 'chk1')"/>
<asp:Label ID="lbl1" runat="server" AssociatedControlID="chk1" />