如何使用knockout js启用/禁用输入字段

时间:2016-01-25 09:46:06

标签: javascript knockout.js

我真正想要的是,如果selectedPropertyType只是标题保险,那么只需禁用该输入字段,即“title_servies_fee”

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);

2 个答案:

答案 0 :(得分:1)

此字段是计算的,因此除非您使其可写,否则不应将其绑定到输入。

除此之外,要使输入只读,您需要另一个计算测试您的条件并在达到只读条件时返回false并将此新计算绑定到输入字段的“启用”绑定。

答案 1 :(得分:1)

您必须向data-bind元素添加input属性,如下所示:

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

更多信息here