php / html输入复选框' s

时间:2017-03-27 16:30:27

标签: php checkbox hidden

不确定这个问题是否已在某个地方得到解答..已经搜索过它并发现了一些关于它的东西......但是因为我真的不明白我看到过的答案,而且可能因为我没有做出重大的混乱在使用这些语言方面经验丰富..

问题是我有一组5个复选框,我想在二进制输出中发布,例如:[0,0,1,1,0]。

到目前为止,我通过应用隐藏的输入解决方案来管理这个问题(我以更静态的方式描述了...因为我有很多来自数据库的东西,以及其他不能解释的东西对于这个问题..我认为)

$checkychecky = explode(",", [1,0,1,0,0] );
<input type="hidden" name="'.$row_perguntas[0].'[]" value="0"><input type="checkbox" onclick="this.previousSibling.value=1-this.previousSibling.value"'.$checked = ($checkychecky[0] == 1 ? "checked=\"checked\" " : "")/>'.$questionV[1].'

row_perguntas-&GT;来自db,它给我显示名称

checkychecky - &gt; temp var,用于存储值数组[1,0,1,0,0]

中存在的值

questionV - &gt;数据库标签内容

这工作得很好..问题是当我前进到另一个表单,然后回到这个表单,我得到正确的arrray值,设法检查可见的复选框,但不知道什么到做隐藏的领域..因为tecnically它没有设置,我不按复选框..所以onclick没有开火..当我再次前进到下一个表格我结束提交[0,0,0,0,0]

我该如何解决这个问题?试图在隐藏的输入上使用.. checkychecky:

<input type="hidden" name="'.$row_perguntas[0].'[]" value="0"'.$value= ($checkychecky[0] == 1 ? "value=\"0\" " : "1")

但根本没有成功:(

有什么想法吗?感谢

1 个答案:

答案 0 :(得分:0)

解决..

var checkBQ = ["c0q402","c1q402","c2q402","c3q402","c4q402","c0q408","c1q408","c2q408","c3q408","c4q408"];

        var checkBQLength = checkBQ.length;


        for (var i = 0; i < checkBQLength; i++) {
            if(document.getElementById(checkBQ[i]).checked){
                document.getElementById(checkBQ[i]).previousSibling.value = 1;
            }else{
                document.getElementById(checkBQ[i]).previousSibling.value = 0;
            }
        }