如何获得var_dump($ _ POST)以满足此结构?

时间:2012-10-13 10:18:01

标签: javascript jquery forms jsfiddle

我在这里有一个jsfiddle:http://jsfiddle.net/ybZvv/61/

请按照小提琴中的步骤进行操作:

  1. 当您打开小提琴时,单击“添加问题”按钮两次,这将添加2行。
  2. 在第一行中选择答案按钮“A”和“C”,在第二行中选择答案按钮“A”,“B”和“E”。所选每个答案按钮的复选框值显示在下方。
  3. 问题是当我执行var_dump($ _ POST)时的结构。

    var_dump($ _ POST)的当前结构如下所示:

    array(3) { 
      ["numQuestion"]=> array(2) { 
        [0]=> string(1) "1" 
        [1]=> string(1) "2" 
      }  
      ["submitDetails"]=> string(14) "Submit Details"
      ["value"]=> array(4) { 
        ["answerARow"]=> string(2) "on" 
        ["answerCRow"]=> string(2) "on" 
        ["answerBRow"]=> string(2) "on" ["answerERow"]=> string(2) "on"
      } 
    }
    

    我希望它如下所示:

    array(3) {
      ["numQuestion"]=> array(2) { 
        [0]=> string(1) "1" 
        [1]=> string(1) "2"
      }
      ["submitDetails"]=> string(14) "Submit Details"
      ["value"]=> array(5) {
        [1]=> array(2) {
          [0]=> string(1) "A"
          [1]=> string(1) "C"
        }
        [2]=> array(3) {
          [0]=> string(1) "A" 
          [1]=> string(1) "B" 
          [2]=> string(1) "E"
        }
      }
    }
    

    是否有人对如何操作代码以达到此结构有任何想法?

    结构应该是什么样的,有2个问题,对于问题1,答案是A和C,问题2答案是A,B和E

1 个答案:

答案 0 :(得分:2)

不要在复选框中生成value[answerCRow],而是尝试将其创建为:

<input type="checkbox" id="hiddenanswerHRow0value" name="value[" + iQuestionIndex + "][]"  value="A" checked="">

其中,您的值将重复。

jQuery的updateAnswer函数将包含以下行:

var input = '<input type="checkbox" id="' + hid + '" name="value[' + iQuestionIndex + '][]" value="' + value + '" checked /><label for="' + hid + '">' + value + '</label>';
_oCurrAnswerContainer.append(input);