在表单中,有些多选框的数据存入到数据库中不是文字,而是数字。所以有时我们需要把数据库中的数字再转成文字显示在前台。
<form action="${contPath}/q/add" id="myform" method="post">
<table>
<tr>爱好</tr>
<tr>
<td style="width:200px;">
<label><input name="cate" type="checkbox" value="1" />篮球</label>
<label><input name="cate" type="checkbox" value="1" />足球</label>
<label><input name="cate" type="checkbox" value="1" />棒球</label>
</td>
</tr>
</table>
<div>
<input type="button" style="width:70px;height:30px;cursor:pointer;" value="提交" οnclick="submitForm();"/>
<input type="button" style="width:70px;height:30px;cursor:pointer;" value="返回" οnclick="window.history.go(-1);"/>
</div>
</form>
js代码
/*存储*/
function submitForm(){
$("#myform").ajaxSubmit({
dataType:"json",
success:function(data){
alert(data.msg);
}
error:function(){
alert("添加出错!");
}
});
}
js代码
/*回显*/
//在数据库中,列“爱好”存储的是“1,2 ,3”,而不是“篮球,足球。。”
//1对应的是篮球,以此类推
**头部引入文件
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%>
<td>爱好:</td>
<td>
<label><input name="hobby" type="checkbox" value="1" <c:if test="${fn:contains(HOBBY,'1')}">checked="checked"</c:if>/>篮球</label>
//HOBBY为后台返回的值,可与其他属性一起使用map返回
//fn:contains(HOBBY,'1') 如果返回的HOBBY属性中包含'1',则选中。
<label><input name="hobby" type="checkbox" value="1" <c:if test="${fn:contains(HOBBY,'2')}">checked="checked"</c:if>/>足球</label>
<label><input name="hobby" type="checkbox" value="1" <c:if test="${fn:contains(HOBBY,'3')}">checked="checked"</c:if>/>棒球</label>
</td>