Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 基于二进制表示的隐藏字段(反之亦然)更新复选框数组_Javascript_Html_Jquery - Fatal编程技术网

Javascript 基于二进制表示的隐藏字段(反之亦然)更新复选框数组

Javascript 基于二进制表示的隐藏字段(反之亦然)更新复选框数组,javascript,html,jquery,Javascript,Html,Jquery,我的表格上有一组复选框,它们属于一起。复选框的数量是固定的,比如说8。还有一个隐藏的输入字段。当页面加载时,我希望复选框更新,以便它们显示隐藏值的二进制表示形式(应该是无符号整数) 例如,加载时,隐藏字段的值为123,因此复选框字段如下所示: [][X][X][X][X][X][X] 如果复选框被更改,则应更新隐藏值 例如,单击最后一个复选框(并因此关闭)后: [][X][X][X][X][[X][] ->隐藏值:122 <input name="test[0]" ty

我的表格上有一组复选框,它们属于一起。复选框的数量是固定的,比如说8。还有一个隐藏的输入字段。当页面加载时,我希望复选框更新,以便它们显示隐藏值的二进制表示形式(应该是无符号整数)

例如,加载时,隐藏字段的值为123,因此复选框字段如下所示:

[][X][X][X][X][X][X]

如果复选框被更改,则应更新隐藏值

例如,单击最后一个复选框(并因此关闭)后:

[][X][X][X][X][[X][]

->隐藏值:122

<input name="test[0]" type="checkbox" value="1">
<input name="test[1]" type="checkbox" value="1">
<input name="test[2]" type="checkbox" value="1">
<input name="test[3]" type="checkbox" value="1">
<input name="test[4]" type="checkbox" value="1">
<input name="test[5]" type="checkbox" value="1">
<input name="test[6]" type="checkbox" value="1">
<input name="test[7]" type="checkbox" value="1">
<input id="realValue" type="hidden" value="123">

其思想是,我可以在数据库中的一个int字段中简单地保存一整套(非常相似的)二进制选项,而无需创建大量布尔字段


我想有一个JS库可以做到这一点,但我找不到任何东西。。有人有简单的解决方案吗?

您可以使用按位and(
&
)依次检查每个位,您可以通过在
1=0处应用按位XOR(
^
)在特定索引处切换位;我——){ 输入[i]。选中=curr&1==1; curr>>=1; } } changeVal(); inputs.forEach((输入,索引)=>input.addEventListener('change',函数(e){
realVal.value=+realVal.value^(1这听起来像是一个数字,一旦提交了复选框,计算服务器端就会简单得多。