我正在使用Knockout.js,我試圖在用戶輸入上使用掩碼。 當用戶輸入號碼時,我想使用蒙版,並用逗號顯示。那麼1000將是1000基因敲除掩碼
的,我有這個功能
function numberWithCommas(n) {
var parts=n.toString().split(".");
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
我不明白我應該如何使用它來顯示它在正確的道路。
HTML(的一部分)
<div class="col-sm-2">
<input type="text" id="myAmountInput" class="form-control" data-bind="value: myAmount">
</div>
JS(的一部分)
define(['knockout', 'knockout-validation', 'services/changeup', 'moment', 'lodash', 'plugins/router'], function (ko, validation, changeup, moment, _, router) {
function numberWithCommas(n) {
var parts = n.toString().split(".");
return parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",") + (parts[1] ? "." + parts[1] : "");
}
var timerId = setInterval(tick, 1000 * 10);
var exports = {
isRequestor: undefined,
myAmount: ko.observable().extend({ required: true, number: true }),
errors: ko.validation.group(this),
activate: function (activationData) {
var requestId = activationData;
return changeup.getUserInfo().then(function (userInfo) {
exports.userInfo = userInfo;
return changeup.getRequest(requestId).then(function (request) {
exports.request = wrapRequest(request);
exports.isRequestor = request.username === userInfo.username;
if (exports.isRequestor) {
exports.myAmount(null);
exports.isResponder(true);
}
else {
var currentResponse = _.find(exports.request.responses(), function (r) { return r.username === userInfo.username; });
exports.isResponder(!!currentResponse);
exports.myAmount(currentResponse ? currentResponse.amount : null);
}
tick();
});
});
}
};
return exports;
});
整個例子中,我試圖做到這一點,我沒有沒有成功將它與代碼結合:\ – Bruse
jsfiddle示例有幫助嗎? – PB1