2013-05-29 49 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'); 
    } 
});