5

テキストをカスタマイズしたいのは簡単textareaです(ブレークラインを追加するなど)。これが私がこれまでに試したことです:

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

しかし、私は何も得ません。

結果の HTML をチェックすると、value プロパティが見つからず、JavaScript エラーもありません。valueのプロパティ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 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 に答える