2017-03-27 19 views
1

不知道这个问题是否已经回答了某个地方..已经搜索了它,并找到了一些关于它的东西..但sincerelly不真正理解答案看到,可能是一个主要的困惑因为即时消息不是那些与这些语言的工作经验..php/html输入复选框的

事情是,我有一组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->来自这使我的显示名称的分贝

checkychecky - >临时变种,其存储本值阵列[1,0中的值, 1,0,0]

questionV - > db标签内容

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

我该如何解决这个问题?已经tryed使用.. checkychecky上隐藏的输入:

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

但在所有:(

任何想法没有成功得益于

+0

这是在PHP程序?因为'$ checkychecky = [1,0,1,0,0];'看起来像我的javascript – Forbs

+0

@Forbs不知道它如何看起来像JavaScript ..但是,它的PHP程序..也有JavaScript在它的代码..这不是在这里,因为它不解决这个问题.. https://www.w3schools.com/php/php_variables.asp。使checkychecky在代码中的使用更加清晰。 –

回答

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; 
      } 
     }