在foreach中,我有一個span標記和一個textarea。每當我點擊span標籤時,我想切換textarea的可見性。敲除數據綁定foreach中的textarea
這部分工作,除了它切換在foreach內的textareas的所有的可見性,而不僅僅是針對特定項目的textarea。
這是我的代碼。代碼實際上並沒有運行,但我認爲這裏有足夠的東西讓你看到我正在嘗試做什麼。
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這聽起來像也許我應該使用$數據不知何故,但我不知道怎麼去,要在這方面的工作。
我很感謝您提供的任何幫助。
你觀察到的,因爲它是現在,會切換所有文字區域的知名度。這是你想要的結果嗎? – pimbrouwers
@PimBrouwers不,它不是。我希望它只切換當前項目的可見性。因此,如果我點擊視圖上的第三個跨度,然後在視圖上顯示第三個textarea,並且不顯示其他textarea。 – thMcClimon
完美,請參閱下面的答案!快樂的編碼! – pimbrouwers