在用Backbone&Marionette编写的应用程序中,我希望某些表单输入仅作为数字并带有千位分隔符。 Backbone ModelBinder自动检测表单中的更改。我实现了jQuery number plugin,效果很好。但是问题是,当数字输入中包含数千个分隔符时,ModelBinder无法正常工作。如果少于4位数字(不带分隔符,则表示一切正常)。
该问题在Chrome上出现。在Firefox上没有任何问题。
我不知道如何解决或调试问题。
最佳答案
您需要通过将两者结合来解决问题:当输入发生更改时,模型绑定器触发更改事件,并将字段数据转发至模型。除非它已被数字插件篡改,否则会出现问题。
相反,尝试使用ModelBinder的转换器绑定设置(https://github.com/theironcook/Backbone.ModelBinder#formatting-and-converting-values),它将允许您定义从模型到表单再返回时应如何格式化/解析数据。