Javascript Html复选框,多个具有相同';名称';。值1(如果选中),值0(如果未选中)
在我的页面上,我有一个包含“添加行”按钮的表,因此用户可以根据需要添加更多行。通过克隆表中的最后一行来添加该行。在这一行中,我想放两个复选框Javascript Html复选框,多个具有相同';名称';。值1(如果选中),值0(如果未选中),javascript,html,python-3.x,flask,Javascript,Html,Python 3.x,Flask,在我的页面上,我有一个包含“添加行”按钮的表,因此用户可以根据需要添加更多行。通过克隆表中的最后一行来添加该行。在这一行中,我想放两个复选框 <td class = ''> <input class = '' type='checkbox' name ='installed_by_cm' value='1'/> </td> <td class = ''> <input class = '' type='checkbox' name ='in
<td class = ''> <input class = '' type='checkbox' name ='installed_by_cm' value='1'/> </td>
<td class = ''> <input class = '' type='checkbox' name ='installed_after_cm' value='1'/> </td>
这意味着有多个具有相同“name”标记的复选框,这是我稍后在代码中处理数据所需要的。我使用flasksrequest.form.getlist()
在python后端获取信息
由于复选框类型默认为“无”,并且我无法使用隐藏输入,因为它将始终由请求收集,因此我无法找到方法使复选框在选中时发送1,在未选中时发送0。任何帮助都将非常感激 最简单的一个,不需要javascript,只需在复选框前添加一个隐藏输入:
<input type="hidden" name="check[0]" value="0" />
<input type="checkbox" name="check[0]" value="1" />
输入必须具有相同的名称。如果选中该复选框,则将提交值1,否则将从隐藏输入中提交值0
您的案例javascript解决方案,无需隐藏输入:
<script type="text/javascript">
// when page is ready
$(document).ready(function() {
// on form submit
$("#form").on('submit', function() {
// to each unchecked checkbox
$(this + 'input[type=checkbox]:not(:checked)').each(function () {
// set value 0 and check it
$(this).attr('checked', true).val(0);
});
})
})
</script>
<form method="post" id="form">
<input type="checkbox" name="check[0]" value="1" />
<input type="checkbox" name="check[1]" value="1" />
<input type="submit" value="Save Changes" />
</form>
//当页面准备就绪时
$(文档).ready(函数(){
//提交表格
$(“#表单”)。在('submit',function()上{
//添加到每个未选中的复选框
$(this+'input[type=checkbox]:未(:选中)。每个(函数(){
//设置值0并检查它
$(this.attr('checked',true).val(0);
});
})
})
您需要将名称更改为基于阵列的名称,例如name=“installed\u by_cm[]”
否则复选框将相互覆盖。大多数情况下,我会使用标识符,例如name=“installed_by_cm[]”
(PHP中的示例)