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

Javascript 在删除绑定之前将值转换为小写,javascript,jquery,html,knockout.js,data-binding,Javascript,Jquery,Html,Knockout.js,Data Binding,我用knockoutjs绑定了一个标签。值边界应始终为小写。而在js模型中它将保持大写。如何做到这一点 Javascript HTML 您只需在视图中使用toLowerCase 查看: <div class='liveExample'> <p> name: <label data-bind='text: name().toLowerCase()'></label></p> </div> <b>

我用knockoutjs绑定了一个标签。值边界应始终为小写。而在js模型中它将保持大写。如何做到这一点

Javascript

HTML


您只需在视图中使用
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>

姓名:

原值:

示例工作小提琴

不清楚您想要做什么,特别是当值来自textarea时,但您可能可以使用可写计算工具执行任何操作:

model.lowerName = ko.computed({
    read: function() {
        return model.name().toLowerCase();
    },
    write: function(newValue) {
        // ...save this however it is you want to save it...
    }
});
model.lowerName = ko.pureComputed(function() { return model.name().toLowerCase(); });
HTML:

HTML:


  • 只需在绑定中执行即可:

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

  • name().toLowerCase()
    在您的视图中很简单。干杯不,它应该在ViewModel中保持大写,但在view中您将看到小写,我不明白您的意思。你能在我的小提琴链接中更正它吗?@supercool-当用户编辑输入中的值时,这不起作用。请大胆解释。OP是这样要求的。你知道这会把它简化为单向绑定,对吗?如中所示,当您更改文本框中的文本时,它将不再更新模型。是的,我会更新,但以前说过它可以是标签。所以我就这么做了。谢谢,太酷了。事实上,我试过name.toLowerCase()。你的代码对我很有用。@jamice我把它贴上标签是为了避免进一步的误解。干杯,正确地指出了这一点。@Mattytomo:嗯,有人没抓住重点。同样,
    value
    是一种双向绑定。所以问题是关于双向处理。没有假设,没有推断。也没有燃烧,我只是要求OP明确他们想要什么。他们现在已经做到了。
    <input data-bind="value:lowerName">
    
    model.lowerName = ko.pureComputed(function() { return model.name().toLowerCase(); });
    
    <label data-bind="text:lowerName"></label>
    
    <label data-bind="text:name().toLowerCase()"></label>