jsp頁面根據(jù)控制器傳遞的值來選中checkbox
比如控制器傳遞:
model.addAttribute("student", student);
student.hobby = "登山,羽毛球,打牌";
jsp頁面判斷然后選中:
方法一:
使用jquery:
<label>愛好:</label> <input type="checkbox" name="hobby" value="游泳">游泳 <input type="checkbox" name="hobby" value="跑步">跑步 <input type="checkbox" name="hobby" value="登山">登山 <input type="checkbox" name="hobby" value="羽毛球">羽毛球 <input type="checkbox" name="hobby" value="打牌">打牌 <script> $(document).ready(function(){ var hobby = '${student.hobby}'; var hobby_a = hobby.split(","); console.log(hobby_a); for(var i=0; i < hobby_a.length; i++){ $("input[name='hobby'][value='"+hobby_a[i]+"']").prop("checked",true); } }) </script>
方法二:
使用JSTL的fn:contains()函數(shù)
注意:搜索和被搜索的字符串后都加 ",";
避免: 被搜索字符中含 "羽毛球", 結(jié)果 無論搜索 "羽毛" 或者 "羽毛球",結(jié)果都找到
<label>愛好:</label> <c:set var="hobbys" value="${student.hobby},"/> <input type="checkbox" name="hobby" value="游泳" <c:if test="${fn:contains(hobbys, '游泳,')}">checked</c:if>>游泳 <input type="checkbox" name="hobby" value="跑步" <c:if test="${fn:contains(hobbys, '跑步,')}">checked</c:if>>跑步 <input type="checkbox" name="hobby" value="登山" <c:if test="${fn:contains(hobbys, '登山,')}">checked</c:if>>登山 <input type="checkbox" name="hobby" value="羽毛球" <c:if test="${fn:contains(hobbys, '羽毛球,')}">checked</c:if>>羽毛球 <input type="checkbox" name="hobby" value="打牌" <c:if test="${fn:contains(hobbys, '打牌,')}">checked</c:if>>打牌