Knockoutjs将输入文本视为数字

时间:2015-03-31 16:11:47

标签: knockout.js knockout-mapping-plugin

我正在使用映射插件。我有一份客户数据清单。其中一个属性是百分数(int)。但是,当我更新文本框的值时,新的percent属性显示为字符串。如何使映射插件将percent属性更新为int。

感谢

1 个答案:

答案 0 :(得分:1)

您可以将该字段公开为可写的计算值:

var Model = function() {
  var self = this;
  self.percentProp = ko.observable();
  self.percentPropComputed = ko.computed({
    read: function() {
      return self.percentProp();
    },
    write: function(newValue) {
      if( !isNaN(newValue) ) {
        self.percentProp(parseInt(newValue));
      }
  });
};

HTML:

<input type="number" data-bind="value: percentPropComputed" />