2014-05-20 23 views
1

我一直致力於隱藏/顯示哪些簡單的變化。隱藏/顯示按鈕和鏈接嗎? KnockOut

1階段: 我有一個鏈接(評論)最初當我點擊我需要顯示在文本區域的右鈕與按鈕一個文本並在此處鏈接按鈕去隱藏狀態。

2階段: 後來,當我點擊按鈕(POST)textarea的以及按鈕應該會消失,鏈接應該是可見的

的東西,我試過至今:

HTML :

<a href="#" data-bind="click: showBox">Comment</a> 

<input type="textarea" data-bind="visible: show"/> 
<input type='button' data-bind="visible: show" value="show"/> 

KnockOutjs:

var viewModel = function() 
{ 
    self = this; 
    self.show = ko.observable(false); 
    self.showBox = function(){ 
    self.show(true); 
    }; 
} 

ko.applyBindings(new viewModel()); 

最初,當我在評論點擊我正在顯示文本框和按鈕,但我無法掩飾鏈接(註釋)。有可能當我點擊按鈕textarea和按鈕應該隱藏和評論鏈接應該出現。

Ps:我是ameautur在淘汰賽幫助我。 Thnak you

Regards

+0

添加一個名爲hideBox的新函數,它設置self.show(false)。將其設置爲textarea按鈕的點擊綁定處理程序。將可見的綁定添加到錨點標記,如「visible:!show()」。 –

回答

1

您只需將可見屬性添加到鏈接即可。僅當show()爲false時才顯示它!

 

<a href="#" data-bind="click: showBox, visible: show() === false">Comment</a> 
 
+0

其中一種方式工作正常。當我們點擊鏈接textarea和按鈕顯示,但當我點擊按鈕時,我必須再次顯示鏈接。任何進一步的清晰讓我知道你的更新按鈕功能 –

+1

回來的路上,只需設置self.show(false);那就坐,簡單! :-) – Shay

+1

看看這個小提琴:http://jsfiddle.net/V8QLj/ – Shay

0

你可以像這樣改變視圖狀態。

self.showBox = function(){ 
    self.show(!self.show()); 
}; 
+0

好運。它不工作。其工作像一個切換,但我不需要。鏈接和按鈕應該隱藏/顯示像當我點擊鏈接按鈕與textarea應該出現與評論鏈接應該隱藏自己。後來當我點擊按鈕評論評論鏈接應該顯示和按鈕&textarea應該隱藏。任何清晰度讓我知道 –