5

我很简单textarea,我想自定义它的文本(比如添加换行符),这就是我到目前为止所尝试的:

<textarea rows="5" data-bind="value: function(data) { SetDefaultValue(data); }" />

但我什么也没得到。

检查生成的 HTML 时,它没有找到 value 属性并且没有 JavaScript 错误。如何将valuea 的属性绑定textarea到函数。

Jsfiddle 演示

4

2 回答 2

14

你可以这样做:

<textarea rows="5" type="text" data-bind="value: SetValue(firstName)" />

而不是在javascript中:

function AppModel() {
this.firstName = "ebram";
this.lastName = "Tharwat";
this.SetValue = function (data) {
    //Do the processing over here
    return data.toUpperCase();
   }
}
ko.applyBindings(new AppModel());
于 2013-07-09T13:47:20.380 回答
0

您需要做的是计算修改您的 textarea 值,如下所示

<textarea rows="5" type="text" data-bind="value:textarea, valueUpdate: 'afterkeydown'" />

function AppModel() {
    var self = this;
    self.textarea = ko.observable('');

    self.SetValue = ko.computed(function(){
        self.textarea(self.textarea().toUpperCase());
    });

}

示例:http: //jsfiddle.net/YEp2V/3/

于 2013-07-09T11:21:20.000 回答