迭代jQuery对象的数组和非数组

时间:2012-01-17 16:09:48

标签: jquery asp.net-mvc-3 object multidimensional-array

考虑以下内容......

var $QuestionnaireAnswers = [];

var $QuestionnaireInProgress =
        {
            Questions: {
                QuestionNumber: null,
                Options: [],
                YesNo: [],
                TextArea: []
            }
        };

function findAndRemove(array, property, value) {
   $.each(array, function(index, result) {
      if(result[property] == value) {
          //Remove from array
          array.splice(index, 1);
      }    
   });
}

基本上,我所拥有的是一个数据驱动的调查问卷,对于每个问题编号,它可以有0个或更多,选项可以是单选按钮列表或复选框,0个或更多是/无单选按钮组;和/或零或多个textareas ...

$ QuestionnaireAnswers数组最终将发布到我的mvc3控制器......

根据jquery点击/更改事件和其他条件...为每个问题编号添加一个$ QuestionnaireInProgress对象到$ QuestionnaireAnswers数组。

当前问题1是集成findAndRemove函数,我将递归使用它来告诉我是否存在问题编号然后我将再次调用它并查看其中一个数组中的项目是否是$ QuestionnaireInProgress对象的一部分它中的特定值...基本上是为了查看问题答案是否已被更改或编辑,例如是否已更改无线电或已在单选按钮列表中选择了不同的无线电选项,同样为复选框,textarays。 ..

当前的问题2是调整findAndRemove来迭代每个问题编号的n个数组,如果它存在则删除或拼接出来,不太确定如何为这种递归调整它...

发生的事情是我无法达到findandremove接受$ QuestionnaireAnswers数组作为参数......

说我像这样添加一个项目......

$QuestionnaireAnswers.push($QuestionnaireInProgress);

然后我致电findandremove($QuestionnaireAnswers, "QuestionNumber", "1234");

我得到了“Microsoft JScript运行时错误:预期的对象”这个无用的错误。

我可能会使这一点变得复杂或遗漏一些明显的东西,所以我感谢任何评论,建议等。

提前感谢。

1 个答案:

答案 0 :(得分:0)

你有没有看过控制台,看看它的突破线是什么?