【发布时间】:2012-02-09 19:27:57
【问题描述】:
基本上,我所拥有的是一份非常动态且本质上由数据驱动的问卷...
对于每个问题,我可以有一个
问题编号,
0个或多个单选按钮选项,
0个或多个复选框选项,
然后对于每个选项单选按钮,我将有一个
选项编号,
价值
对于每个选项复选框,我都会有一个
选项编号,
价值
对于文本区域的每个选项,我都会有一个
选项编号,
价值
如果我没有选项,我可以有一个 yes no 单选按钮组,它会有一个
问题编号,
价值
如果我没有选择,我也可以有一个 textarea,它会有一个
问题编号,
价值
我的一切都按照我想要的方式呈现,并且我在 jquery 中的更改和点击事件在我期望它们时触发...
目前在我的 JQuery 中的问题是我正试图找出一种方法来保存所有这些问题的答案,因为它们被回答,如果它们被更改更新或替换我之前存储的内容......
一旦用户完成答案并进行适当的编辑,我将在基于 mvc3 的解决方案中将 jquery/json 发布到我的控制器;如果我能得到我需要什么样的 Jquery 结构,我想我很高兴......
在 JQuery 中执行此操作所需的结构方法让我很头疼...
目前我正在考虑以下内容......
var $ArrayToPost = [];
var $questionare =
{
Questions: {
QuestionNumber: null,
Options: [],
YesNo: [],
TextArea: []
}
};
$('input.Questionare, textarea.Questionare').live({
click: function (e) {
...rest omitted for brevity...
$questionare.Questions.QuestionNumber = $QuestionNbr;
$questionare.Questions.Options.push($CheckBox);
$ArrayToPost.push($questionare);
...rest omitted for brevity...
change : function (e) {
...rest omitted for brevity...
});
我使用这种方法遇到的问题是,每当单击复选框、单选按钮或更改文本区域中的值时,我都必须弄清楚我已经为适用的问题编号添加到结构中的内容,然后更新任何内容适用或只是替换适用的...
我想我已经过分复杂化了,肯定会喜欢一种更优雅的方法......
提前致谢。
更新: 仍然没有想出办法让这件事继续下去,希望有人能让我朝着正确的方向前进......
【问题讨论】:
标签: jquery arrays multidimensional-array