嵌套集合 - 表单,附加到最近的类

时间:2013-07-31 17:04:42

标签: javascript jquery asp.net-mvc asp.net-mvc-4

您好我一直在努力创建一个动态集合,我可以发布到服务器上,经过一些争论后我找到了这个指南; http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3 伟大的书面,但我没有让它为我的需要工作。 一切正常,一个“小”恼人的事情。

首先提供一些关于我试图实现的信息;

我的课程看起来像这样; Qpack有一个问题列表 问题有一个列表替代

我创建的界面看起来像这样;

Dynamic interface, collection of collections

这是标记。 Markup

“添加问题” - 按钮效果很好并且标记匹配,剂量工作的东西是我点击“添加替代”它总是被添加到第一个问题。但是标记很好,如第二张图所示。

负责追加的功能看起来像这样;

function addNestedForm(container, counter, ticks, content) {
    var nextIndex = $(container + " " + counter).length;
    //var nextIndex = $(counter).length; // Orginal
    var pattern = new RegExp(ticks, "gi");
    content = content.replace(pattern, nextIndex);
    $(container).append(content);
    resetValidation();
}

enter image description here

我想附加最相对的“替代品”,但它似乎总是适用于第一种,任何想法如何让它理解“最近的”替代品?

1 个答案:

答案 0 :(得分:2)

当jQuery选择器指定ID(#)并且Html文档中有多个ID时,Id jQuery将始终返回第一个ID。

您必须有办法在整个页面中唯一指定“替代品”。

或者(双关语)你可以创建一个新的css类,替换

<div id="alternative" ...

<div class="alternative-container" ...

然后在“添加替代品”的操作中,您可以

var container = $(this).parents('div.alternative-container:first');