1.Checkbox的特性
在使用checkbox时,我发现不管checked里是否有值,在前端里这个复选框都会被打上钩
<input type="checkbox" name="hobby_hkj" value="唱歌" checked="ture">唱歌
<input type="checkbox" name="hobby_hkj" value="跳舞" checked="false">跳舞
<input type="checkbox" name="hobby_hkj" value="篮球" checked>篮球
<input type="checkbox" name="hobby_hkj" value="Rap" checked="">Rap
运行结果如下:

而此时我的数据库代码中爱好是为空的

所以在Checkbox中,只要写入了checked,前端中的复选框就会被打上勾。
2.如何在前端中获得获得checkbox的值并显示出来
在这里我们需要用到JSTL(JSP标签库)

首先,我们需要在进行登录时将数据库中hobby的值存入,以便进入修改个人信息页面时方便获取。(既然能写到这一步dao层以及User里的东西我就不做展示了)

第二部是在前端中来接受这个hobby的值(因为我数据库中hobby值用了横杠进行分隔,所以这里用split来分割), 这里的check1-4是放入checkbox中的

第三步是用forEach(循环) 如果hobbies中有唱歌/跳舞/篮球/Rap的存在,就把相应的check赋值为:checked。

第四步,在checkbox中加上对应的check1-4,这里利用到了上面的checkbox的特性。
相当于是:
<input type="checkbox" name="hobby_hkj" value="唱歌" checked >唱歌
<input type="checkbox" name="hobby_hkj" value="跳舞" checked >跳舞
<input type="checkbox" name="hobby_hkj" value="篮球" checked >篮球
<input type="checkbox" name="hobby_hkj" value="Rap" checked >Rap

最后一步,也相当于是收尾工作,我们需要在单击提交修改信息之后,在修改成功时将hobby2的再重新更新一下,不然的话我们只有数据库中更新了,前端显示页面是不会更新的。
3.总结
能写出这么笨的办法发到网上也完全是因为找遍了CSDN和百度都没有找到一个能看懂得答案,所以人还是得逼自己一把。
如果文中有错误的或者不足的地方,请联系博主修改,谢谢!
本文详细介绍了Checkbox在HTML中的特性,无论checked属性值为何,只要设置就会默认选中。同时,通过JSTL在前端获取并显示Checkbox的值,实现与数据库数据的同步。在用户提交修改信息后,需更新数据库并刷新前端展示,确保信息一致。此外,文章还分享了一种处理复选框值的方法,虽然作者认为笨拙,但能有效解决问题。
3397

被折叠的 条评论
为什么被折叠?



