如果我的jsp中有这样的复选框:
<form:checkbox path="agreeToLegalAgreements" />
结果是:
<input id="agreeToLegalAgreements1" name="agreeToLegalAgreements" type="checkbox" value="true"/><input type="hidden" name="_agreeToLegalAgreements" value="on"/>
为什么ID会附加“1”?我问的原因是因为如果我想使用javascript选择此复选框,我必须硬编码“1”:
document.getElementById('agreeToLegalAgreements1').checked=true;
答案 0 :(得分:8)
这是必要的,因为您可能需要将多个复选框绑定到同一个字段,并且每个复选框都需要具有唯一ID。
例如,如果您的表单对象有一个兴趣列表
Programming: <form:checkbox path="interests" value="Programming"/>
Painting: <form:checkbox path="interests" value="Painting"/>
Fishing: <form:checkbox path="interests" value="Fishing"/>
输出将是:
Programming: <input id="interests1" name="interests" type="checkbox" value="Programming"/>
Painting: <input id="interests2" name="interests" type="checkbox" value="Painting"/>
Fishing: <input id="interests3" name="interests" type="checkbox" value="Fishing"/>
(我省略了隐藏的空值输入)
答案 1 :(得分:5)
Donal是正确的,但如果您愿意,仍然可以在复选框上设置ID。
<label>
<form:checkbox id="searchInSubject" path="searchInSubject"/>Subject
</label>
然后你可以按照你期望的方式使用javascript。
if( $('#searchInSubject').prop("checked") ) {
alert('checked');
}