foreach内では、私はspanタグとtextareaを持っています。スパンタグをクリックするたびに、テキストエリアの表示を切り替えたいと思います。foreach内でのノックアウトデータのバインディングtextarea
これは部分的に機能します。これは、私が現在使用している特定の項目のテキストエリアではなく、のforeach内のテキストエリアの表示を切り替えます。
ここに私のコードです。コードは実際には実行されませんが、私はあなたが何をしようとしているのかを十分に確認できます。
function MyViewModel(data) {
var self = this;
self.checkListItems = [1,2,3];
self.textAreaVisible = ko.observable(false);
self.toggleTextArea = function() {
self.textAreaVisible(!self.textAreaVisible());
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/knockout/3.4.2/knockout-min.js"></script>
<div data-bind="foreach: MyViewModel.checkListItems">
<span data-bind="click: toggleTextArea">Add Comments ></span>
<textarea data-bind="value: comments, visible: textAreaVisible"></textarea>
</div>
私は多分、私が何とか$データを使用する必要がありますように聞こえるれhttp://knockoutjs.com/documentation/foreach-binding.htmlここで、このリンクを見つけましたが、私は、このコンテキストで動作するように取得するかどうかはわかりません。
お手数ですがお寄せいただきありがとうございます。
あなたに観察し、それが今であるとして、ALLテキストエリアの表示を切り替えます。それがあなたの望む結果ですか? – pimbrouwers
@PimBrouwersいいえ、そうではありません。私はそれが現在の項目の可視性だけを切り替えることを望みます。したがって、ビューの3番目のスパンをクリックすると、3番目のテキストエリアがビューに表示され、他のテキストエリアは表示されません。 – thMcClimon
完璧、以下の私の答えを参照してください!ハッピーコーディング! – pimbrouwers