2013-10-29 58 views
1

我知道關於此主題的幾個問題已被問到,但我無法找到我的案例的答案。如何使用JavaScript動態檢查/取消選中HTML複選框

我有一個檢查checkbox作爲

<input type="checkbox" name="text" checked="checked" /> 

我需要通過檢查/取消選中發送Ajax請求,但我不知道還有什麼能可靠(與瀏覽器兼容性)爲if statement

if (this.value == 'on') 
{ 
this.value = 'off'; 
ajax call; 
} 
else 
{ 
this.value ='on'; 
ajax call; 
} 

注意,價值在這裏並不重要,我們需要趕上checked/unchecked,但如何通過JavaScript控制選中元素時,HTML原始元素具有checked="checked"

如果使用checked代替value

if (this.checked == true) 
{ 
this.checked = false; 
ajax call; 
} 
else 
{ 
this.checked =true; 
ajax call; 
} 

checkbox蜱不會在瀏覽器中改變(總是選中)。

回答

2

下面應該工作:

function myFunction(elem) 
{ 
    if (elem.checked) 
    { 
     alert("Im Checked"); 
    } 
    else 
    { 
     alert("Im not checked"); 
    } 
} 

標記

<input type="checkbox" name="text" checked="checked" onchange="myFunction(this);" /> 

http://jsfiddle.net/QMhn5/

更新: 從其它元素來改變檢查:

document.getElementById("chk").checked = true; 

document.getElementById("chk").checked = false; 

例子: http://jsfiddle.net/QMhn5/1/

+0

如何檢查/取消選中? – Googlebot

+0

@All檢查我的更新。 –

1

如果你可以使用jQuery,這應該工作:

<input type="checkbox" id="c1" /> 


$("#c1").change(function(){ 
    var checked = $(this).is(":checked"); 
    console.log(checked); 
    //ajax call 
}) 

小提琴:http://jsfiddle.net/XUgTC/,嘗試點擊複選框,並期待在控制檯中。

+1

我不認爲OP希望jQuery的。 –

+0

@HanletEscaño對不起,錯過了,我會編輯答案。 – pax162

+0

:)不需要道歉,我一直這麼做。 –

相關問題