首页 > 解决方案 > django 复选框是或否

问题描述

  <form id="form" name="form">
    <input type="checkbox" value="1" name="C" data-form-field="Option" class="form-check-input display-7" id="checkbox1">
    <input type="checkbox" value="1" name="python" data-form-field="Option" class="form-check-input display-7" id="checkbox2">
    <input type="checkbox" value="1" name="Csharp" data-form-field="Option" class="form-check-input display-7" id="checkbox3" >
  </form>

<script>
$(document).ready(function() {
      $("#submit").on('click', function() {
      console.clear()
       $('input[type=checkbox]').each(function () {
            if ($(this).prop('checked')==true) 
               console.log($(this).prop('checked'));
             else
               console.log($(this).prop('checked'));
            });
        })
    })
</script>

如果用户选中它必须在数据库中是yes,或者如果未选中复选框,它在数据库中必须是no,如何保存到数据库中?我的问题是每次我取消选中这三个并将其保存到我的数据库中时,数据库中的结果总是自动检查,我不知道我是否在我的 javascript 中做对了

这是我的意见.py

Clang = request.POST["C"]
python = request.POST["python"]
Csharp = request.POST["Csharp"]
V_insert_data = known_Language( 
        Clang =Clang ,
        python =python ,
        Csharp =Csharp 
)
 V_insert_data.save()

这是我的models.py

class known_Language(models.Model):
   Clang = models.BooleanField(null=True, blank=True)
   python = models.BooleanField(null=True, blank=True)
   Csharp=models.BooleanField(null=True, blank=True)

标签: javascriptdjango

解决方案


你不能有duplicate id's。更改它们,也可以通过default复选框来更改它们checked,因此您可以value to 0unchecked第一次加载时更改。

<form id="form" name="form">
    <input type="checkbox" value="1" name="C" data-form-field="Option" class="form-check-input display-7" id="checkbox1">
    <input type="checkbox" value="1" name="python" data-form-field="Option" class="form-check-input display-7" id="checkbox2">
    <input type="checkbox" value="1" name="Csharp" data-form-field="Option" class="form-check-input display-7" id="checkbox3" >
  </form>

推荐阅读