2013-05-29 18 views
0

这不会在Chrome为我工作onchange事件不火对铬ASP复选框仅

<asp:CheckBox ID="chkFullReIndex" runat="server" ClientIDMode="Static" onchange="funCalled();" /> 

<script> 
    function funCalled() { 
     if ($('#chkFullReIndex')[0].checked) { 
      alert('check box checked') 
     } 
     else { 
      alert('check box not checked') 
     } 
    } 
</script> 

这是在Firefox(21.0)的工作完全正常,但在Chrome中不工作(版本27.0.1453.94米)不是在同一

+0

@Zenith为了获得DOM元素,我认为 –

+0

你检查了你的html ...是否所有大括号关闭? –

+0

@roasted不应该只有一个具有该ID的元素,所以'$('#chkFullReIndex')'就足够了? – lifetimes

回答

1

尝试使用onclick事件像

<asp:CheckBox runat="server" ID="chkPostback" Text="Check me" onclick="javascript:funCalled(this)" 
     ClientIDMode="Static" /> 

脚本

function funCalled(obj) { 
    if (obj.checked) { 
     alert('check box checked') 
    } else { 
     alert('check box not checked') 
    } 
} 

Check

3

得到任何控制台错误相同

没有想过当使用行内事件注册,您可以发送this的功能:

<asp:CheckBox ID="chkFullReIndex" runat="server" ClientIDMode="Static" onchange="funCalled(this);" /> 

和JS一样:

function funCalled(obj) { 

    // this is present in the event handler and is sent to the function 
    // obj now refers to the CheckBox, so we can do 
    if (obj.checked) { 
     alert('check box checked') 
    } else { 
     alert('check box not checked') 
    } 
} 
1

为了实现CRO SS浏览器功能用来检查一个复选框是否被选中与否: -

$("#chkFullReIndex").is(':checked') 

$("#chkFullReIndex").prop('checked') 
1

我会因为你加载jQuery和勉强使用它采取这种做法。

$('#chkFullReIndex').on('change', function(e){ 
    var $this = ($this); 
    if($this.is(':checked')){ 
    alert('It is checked!'); 
    } else { 
    alert('It is not checked'); 
    } 
});