表单传值时,如何把没有被选中的checkbox的值传递给后台?

今天在给后台调接口的时候,页面上有一个checkbox复选框,选中的话form表单提交会给后台发送value值为y;如果没选中的话要怎么发送值为n呢???----因为没有checked选中的话,form提交时是不会发送该字段的。。。
图片描述

我在submit之前判断了一下复选框状态,若没选中,则value赋值为n;但是没有生效,请问大神们改如何处理呢??

阅读 5.8k
3 个回答

多个checkbox,设置值

  <input name="Fruit" type="checkbox" value="" />苹果 </label>
<label>
  <input name="Fruit" type="checkbox" value="" />桃子 </label>
<label>
  <input name="Fruit" type="checkbox" value="" />香蕉 </label>
<label>
  <input name="Fruit" type="checkbox" value="" />梨 </label>

这么写:

 var Fruits = $('[name="Fruit"]');
  var FruitsArray = Array.prototype.slice.call(Fruits);

  FruitsArray.forEach((v, index) => {
    v.onclick = function () {
      v.value = 'y'
    }
    for (var i = 0; i < FruitsArray.length; i++) {
      if (!FruitsArray[i].checked) {
        FruitsArray[i].value = 'n'
      }
    }

  });

asp.net mvc的处理方法是每一个checkbox配一个hidden,当checkbox没选择时,设置hidden的值;当checkbox选择时,disable那个hidden
如果是ajax提交的话就容易多了

使用场景需要描述的更清楚一点:
1.未选中的项 你是否可以获取到? ,看上面的代码像是可以 那是不是值判断错误 未选中值并不等于''
2.既然你可以获取选中的,那是不是可以用所有数据过滤掉选中项,得到未选中的数据?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题