我尝试了一切,没有任何作用。我有这个复选框
<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>
答案 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);
});
答案 2 :(得分:1)
您必须使用jQuery Id Selector(也总是尝试将jquery代码封装在文档就绪的包装器中)
正确代码:
$(function(){
$('#AccommodationType-2').attr('checked', true);
});
使用$("AccommodationType-2")
告诉jQuery将标记搜索为<AccommodationType-2>