-1

こんにちは、サーバーに投稿できる動的コレクションを作成しようとしていますが、苦労した後、このガイドを見つけました。 http://jarrettmeyer.com/post/2995732471/nested-collection-models-in-asp-net-mvc-3 よく書かれていますが、自分のニーズに合わせて動作させることはできません。1つの「小さな」厄介なことを除いて、すべてが正常に機能します。

最初に、何を達成しようとしているのかについての情報。

私のクラスは次のようになります。Qpackには質問のリストがあります 質問には選択肢のリストがあります

私が作成したインターフェースは次のようになります。

動的インターフェース、コレクションのコレクション

そして、これがマークアップです。 マークアップ

「質問の追加」ボタンはうまく機能し、マークアップは一致します。「代替の追加」をクリックすると、常に最初の質問に追加されます。しかし、2 番目の写真に見られるように、マークアップは問題ありません。

追加を担当する関数は次のようになります。

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 ( #) を指定し、その ID を持つ Html ドキュメントに複数の ID がある場合、jQuery は常に最初の ID を返します。

ページ全体で「代替」を一意に指定する方法が必要です。

または(しゃれを意図して)、新しいcssクラスを作成し、置き換えることができます

<div id="alternative" ...

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

次に、「代替の追加」のアクションで、次のことができます

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