我知道有几个关于这个话题的问题已被提出,但我无法找到答案。
我已将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
,但是当html原始元素具有JavaScript
时,如何通过checked="checked"
控制已检查的元素?
如果使用checked
代替value
作为
if (this.checked == true)
{
this.checked = false;
ajax call;
}
else
{
this.checked =true;
ajax call;
}
checkbox
的刻度线不会在浏览器中更改(始终勾选)。
答案 0 :(得分:3)
以下内容应该有效:
function myFunction(elem)
{
if (elem.checked)
{
alert("Im Checked");
}
else
{
alert("Im not checked");
}
}
<强>标记强>:
<input type="checkbox" name="text" checked="checked" onchange="myFunction(this);" />
<强>更新强>: 要更改其他元素的检查:
document.getElementById("chk").checked = true;
或
document.getElementById("chk").checked = false;
答案 1 :(得分:1)
如果你可以使用jquery,这应该有效:
<input type="checkbox" id="c1" />
$("#c1").change(function(){
var checked = $(this).is(":checked");
console.log(checked);
//ajax call
})
小提琴:http://jsfiddle.net/XUgTC/,尝试点击复选框并查看控制台。