Javascript 从Ajax POST将复选框值保存为数据库中的0或1

Javascript 从Ajax POST将复选框值保存为数据库中的0或1,javascript,jquery,mysql,ajax,Javascript,Jquery,Mysql,Ajax,因此,我在数据库中有一些列,配置为TINYINT。我在前端也有相同数量的复选框 这是我的HTML <script type="text/x-handlebars" id="project"> <div class="row"> <div class="span6"> <div class="well well-small"> <p style="text-ali

因此,我在数据库中有一些列,配置为
TINYINT
。我在前端也有相同数量的复选框

这是我的HTML

<script type="text/x-handlebars" id="project">
    <div class="row">

        <div class="span6">
            <div class="well well-small">
                <p style="text-align: center">
                    You can create a new Project by filling this simple form.
                </p>

                <p style="text-align: center"> Project Name should be minimum 10 characters & There's no limit on
                    Project Description.
                </p>
            </div>
            <form class="form-horizontal">
                <div class="control-group">
                    <label class="control-label" for="projectname">Project Name: </label>

                    <div class="controls">
                        <input type="text" name="projectname" id="projectname" required
                               title="Project Name is Required!" pattern="[A-z ]{10,}"
                               placeholder="Enter Project Name"/>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label" for="projectdesc">Project Description:</label>

                    <div class="controls">
                        <textarea rows="3" id="projectdesc" name="projectdesc" placeholder="Enter Project Desc"
                                  required="Description Required"></textarea>
                    </div>
                </div>
                <div class="control-group">
                    <label class="control-label">Roles:</label>

                    <div class="controls">

                        <label class="checkbox">
                            <input type="checkbox" name="roles" id="script" value="false"> Script
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" name="roles" id="design" value="false"> Design
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" name="roles" id="writer" value="false"> Writer
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" name="roles" id="storyboard" value="false"> Storyboard
                        </label>
                        <label class="checkbox">
                            <input type="checkbox" name="roles" id="workbook" value="false"> Workbook
                        </label>
                        <br>
                        <button class="btn"
                        {{action 'createNew'}}>Add Project</button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</script>
还有阿贾克斯邮报

            dataString = {
            'projectname' : $("#projectname").val(),
            'projectdesc' : $("#projectdesc").val(),
            'script' : $('input.roles[type="checkbox"]:checked', this).val()
        };
        console.log('check');
        $.ajax({
            type : "POST",
            url : "http://ankur.local/users/createNewProject",
            data : dataString,
            dataType : "json",
            success : function(data) {
                console.log('success');
                alert('');
            }
        });
        return false;
您可以从我的代码中看到,我正在尝试获取文本框的选中值,我希望将该文本框存储在数据库中为0或1,或者可能为True或False?此外,我希望有一个条件,在给定的复选框中,至少有一个应该被选中

'script' : $('input.roles[type="checkbox"]:checked', this).val()

我怎样才能达到我的目标

选中至少一个复选框的条件已选中

if($('input[type="checkbox"]:checked').length > 0)
{
  //do your work
}else
{
 alert("Please check any checkbox");
return false;
}
在发布数据之前进行此检查

获取保存在数据库中的值

  //will give the value attribute of selected checkbox
    // true/false in this case
    var value = $('input[type="checkbox"]:checked').val();

//for getting value in 1 or 0 from the above variable.
 var value1 = value ? 1 : 0;
用于保存所有复选框值

var all_values= "";
$('input[type="checkbox"]').each(function(){
var value = $(this).is(":checked") ;

all_values = all_values + "~" + value ;
});

将所有值的值发送到代码中,使用“拆分”获取所有值。

如何将各个复选框值插入数据库?是指插入所有复选框的检查状态还是一次只插入一个复选框?我在数据库中为每个复选框设置了单独的字段,因此每个字段的值为0或1。
var all_values= "";
$('input[type="checkbox"]').each(function(){
var value = $(this).is(":checked") ;

all_values = all_values + "~" + value ;
});