2012-07-03 17 views
10

我想從viewModel中的布爾值創建一個隱藏的表單域。在Knockout中使用attr綁定和一個布爾值

<tbody data-bind="foreach: MediaFiles"> 
     <tr> 
      <td> 
       <input type="hidden" 
         data-bind="attr: { value: MyBool }" /> 
      </td> 
     </tr> 
    </tbody> 

根據視圖模型中的內容,我需要輸入的值爲「true」或「false」。爲了清楚起見,省略了其他屬性。

什麼是最好的方式來完成這與敲除的綁定功能?

回答

17
data-bind="attr: { value: MyBool ? 'true' : 'false' }" 

,或者MyBool是可觀察到的:

data-bind="attr: { value: MyBool() ? 'true' : 'false' }" 

或者你可以使用一個computed observable

MyBool = ko.computed(function(){ 

    return this.someValue() ? 'true' : 'false'; 

}, this); 
+0

感謝您的幫助! – rboarman

相關問題