我用knockoutjs绑定了一个标签。值绑定始终应为小写。虽然它将在js模型中保持大写。怎么做?
的Javascript
var model = {
name:ko.observable("Test")
}
ko.applyBindings(model);
HTML
<label data-bind="text:name">
答案 0 :(得分:6)
您只需在视图
中使用toLowerCase
即可
查看:
<div class='liveExample'>
<p> name: <label data-bind='text: name().toLowerCase()'></label></p>
</div>
<b>Original Value:
<pre data-bind="text:ko.toJSON($data,null,2)"></pre>
示例工作小提琴 here
答案 1 :(得分:2)
目前还不清楚你想做什么,特别是当价值来自来自 textarea时,你可以做任何使用可写计算的事情:
model.lowerName = ko.computed({
read: function() {
return model.name().toLowerCase();
},
write: function(newValue) {
// ...save this however it is you want to save it...
}
});
HTML:
<input data-bind="value:lowerName">
更新您的最新问题:您的更新完全更改了问题。如果您不需要该元素的更新,并且仅显示 name
中的内容,您有两种选择:
只读计算:
model.lowerName = ko.pureComputed(function() { return model.name().toLowerCase(); });
HTML:
<label data-bind="text:lowerName"></label>
只需在绑定中执行:
<label data-bind="text:name().toLowerCase()"></label>