-1

您好,我一直在尝试制作一个可以发布到服务器的动态集合,经过一番努力,我找到了本指南; http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3 写得很好,但我还没有让它满足我的需要。除了一件“小”烦人的事情外,一切都很好。

首先是一些关于我想要达到的目标的信息;

我的课看起来像这样;Qpack 有一个问题列表 问题有一个备选方案列表

我创建的界面如下所示;

动态界面,集合集合

这就是标记。 标记

“添加问题”按钮效果很好并且标记匹配,最重要的是当我点击“添加替代”时,它总是被添加到第一个问题中。但标记很好,如第二张图片所示。

负责追加的函数如下所示;

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

在此处输入图像描述

我想附加到最相关的“替代品”,但它似乎总是第一个,知道如何让它理解“最近的”替代品吗?

4

1 回答 1

2

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

您必须有一种方法可以在整个页面中唯一地指定“替代品”。

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

<div id="alternative" ...

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

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

var container = $(this).parents('div.alternative-container:first');
于 2013-07-31T19:26:03.320 回答