2016-01-25 43 views
1

我真正想要的是,如果selectedPropertyType是產權保險而已,然後就禁用輸入字段,即「title_servies_fee」如何啓用/使用禁用輸入字段淘汰賽JS

this.title_service_fee = ko.computed(function(){ 

      if(this.selectedPropertyType() == 'purchase') { 

       return 200; 

      } 

      else if(this.selectedPropertyType() == 'cash-purchase') { 

       return 200; 

      } 

      else if(this.selectedPropertyType() == 'refinance') { 

       return 150; 

      } 

      else if(this.selectedPropertyType() == 'title-insurance-only') { 

       return 200; 

      } 

      else { 

       // here i want to disable the "title_service_fee" input field 

      } 

     }, this); 
+0

但是這個菲捨爾是計算的,所以除非你讓它可寫,否則不應該綁定到輸入。除此之外,爲了使輸入只讀,您需要另一個計算器來測試您的條件,並在達到只讀條件時返回false,並將此新計算爲綁定輸入字段的「啓用」。 – tede24

+0

非常感謝。這對我很有用 –

+0

好吧,我會將其添加爲答案 – tede24

回答

1

你必須data-bind屬性添加到您的input元素是這樣的:

<input data-bind="disable: selectedPropertyType() === 'title-insurance-only'" /> 

更多信息here

1

該場計算,所以除非你把它寫入它不應該被綁定到輸入。

除此之外,爲了使輸入只讀,您需要另一個計算器來測試您的條件,並在達到只讀條件時返回false,並將此新計算爲綁定輸入字段的「啓用」。