选中并取消选中复选框

时间:2013-04-26 12:07:30

标签: javascript jquery checkbox

如何正确选中和取消选中复选框? 我有很多麻烦。

这是我的代码http://jsfiddle.net/N5Swt/

<input type="checkbox" id="checkbox1" /> <span> Check me! </span>

// test1
/*$('#checkbox1').attr('checked','true');
$('#checkbox1').attr('checked','false');*/ // This line doesnt work

// test2
$('#checkbox1').attr('checked','true');
$('#checkbox1').removeAttr('checked');
$('#checkbox1').attr('checked','true'); //This line doesnt work

它不起作用。为什么呢?

5 个答案:

答案 0 :(得分:5)

<强> jQuery的:

您可以使用jQuery的prop()代替:

$('#checkbox1').prop('checked', true);

取消选中你只需使用:

$('#checkbox1').prop('checked', false);

jsFiddle here.


纯Javascript:

在纯Javascript中,您可以使用.checked属性:

document.getElementById('checkbox1').checked = true;

取消选中你只需使用:

document.getElementById('checkbox1').checked = false;

jsFiddle here.

答案 1 :(得分:1)

您应该使用prop()来设置复选框值,而不是attr。

您正在设置布尔值,因此您不应使用字符串来设置属性的值。

$('#checkbox1').prop('checked',false);

答案 2 :(得分:1)

您也可以直接解决元素属性:

document.querySelector('#checkbox1').checked = true;
// or
$('#checkbox1')[0].checked = true;

JsFiddle演示

答案 3 :(得分:1)

更好地使用原生javascript属性 它清晰而且始终有效

$('#checkbox1')[0].checked = true;

答案 4 :(得分:0)

这是有效的......

$('#checkbox1').attr('checked',true);
$('#checkbox1').attr('checked',false);