如何使用JQuery检查复选框

时间:2012-09-19 12:43:18

标签: javascript jquery html checkbox

我尝试了一切,没有任何作用。我有这个复选框

<input type="checkbox" onchange="WriteFormSelections('SearchForm', 'AccommodationType', 'AccommodationTypeSelections', 'All', 'AccommodationType-0', false, '_', true);" value="Hotel" name="AccommodationType_Hotel" id="AccommodationType-2">Hotel

我想在页面加载时检查它。我尝试了很多东西。我无法解决的一件事是,我应该使用复选框的ID或名称进行检查吗?

这是我目前的代码。我试图按照this帖子的建议使用道具,但这也不起作用。

<script type="text/javascript">
   $('AccommodationType-2').attr('checked', true);
</script>

3 个答案:

答案 0 :(得分:9)

你在选择器前面缺少一个#。

$('AccommodationType-2').attr('checked', true);

变为

$('#AccommodationType-2').attr('checked', true);

...取决于您正在使用的jQuery版本,我建议也查看.prop(),这将用于对象的属性访问。

此外,正如其他回答者正确指出的那样 - 你需要等待DOM准备就绪,方法是在你的复选框检查行周围包裹一个document.ready()

答案 1 :(得分:1)

你错过了选择器中的#。此外,您最好将代码包装在文档就绪调用中,以确保在运行之前加载dom:

$(document).ready(function() {
    $('#AccommodationType-2').prop('checked', true);
});

示例 - http://jsfiddle.net/infernalbadger/vMTvs/

答案 2 :(得分:1)

您必须使用jQuery Id Selector(也总是尝试将jquery代码封装在文档就绪的包装器中)

正确代码:

$(function(){

$('#AccommodationType-2').attr('checked', true);

});

使用$("AccommodationType-2")告诉jQuery将标记搜索为<AccommodationType-2>