在敲除绑定之前将值转换为小写

时间:2015-06-17 10:31:12

标签: javascript jquery html knockout.js data-binding

Demo Here

我用knockoutjs绑定了一个标签。值绑定始终应为小写。虽然它将在js模型中保持大写。怎么做?

  

的Javascript

var model = { 
    name:ko.observable("Test") 
}

ko.applyBindings(model);
  

HTML

<label data-bind="text:name">

2 个答案:

答案 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中的内容,您有两种选择:

  1. 只读计算:

    model.lowerName = ko.pureComputed(function() { return model.name().toLowerCase(); });
    

    HTML:

    <label data-bind="text:lowerName"></label>
    
  2. 只需在绑定中执行:

    <label data-bind="text:name().toLowerCase()"></label>