我有简单的textarea
,我想自定义它的文本(比如添加断行),这就是我到目前为止所尝试的:
<textarea rows="5" data-bind="value: function(data) { SetDefaultValue(data); }" />
但我一无所获。
当我检查生成的html我甚至没有找到value属性,我没有JS错误。所以我如何将value
的{{1}}属性绑定到函数。
答案 0 :(得分:12)
你可以这样做:
<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());
答案 1 :(得分: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());
});
}