今天在开发过程中发现一个问题 就是当 checkbox类型的input标签不被选中时是不会向后端传值的
<input id="userStatus" name="userStatus" type="checkbox" value="1" />
只有当该元素被checked默认被选中时才会传值,但是我们想要做的是不被选中时候传值
用JQ写了一个代码发现还是只有被切换成checked的时候才能传值
function stat_click() {
if ($("#userStatus").is(':checked') ){
$("#userStatus").val(1)
}else {
$("#userStatus").val(2)
}
发现还是只有当选中时才会像后端传值。
解决办法:可以设置两个input框 第一个type="hidden"
<input type="hidden" name="userStatus" value="2">
<input id="userStatus" type="checkbox" value="1" onclick="changeValue()"/>
function changeValue() {
if ($("#userStatus").is(':checked')) {
$('input[name = "userStatus"]').val(1)
} else {
$('input[name = "userStatus"]').val(2)
}
通过控制下面的input标签进行上面传值的控制,默认让这个值为2当选中时候就切换成value="1",来达到不被选中也可以传值的效果