【发布时间】:2014-10-09 13:26:33
【问题描述】:
如何使用 knockout.js 格式化负百分比并显示在括号中?
function suppressNonNumeric(val,bindingName, allBindingsAccessor)
{
return allBindingsAccessor.has(bindingName) && ko.utils.unwrapObservable(allBindingsAccessor.get(bindingName)) && (typeof val === 'undefined' || val === null || isNaN(val));
}
ko.bindingHandlers.percent = {
positions : ko.observable(2),
update : function(element, valueAccessor, allBindingsAccessor) {
return ko.bindingHandlers.text.update(element, function() {
var tempVal = ko.utils.unwrapObservable(valueAccessor());
if(suppressNonNumeric(tempVal,'suppressNull', allBindingsAccessor) )
{
return '';
}
var value = +(tempVal || 0),
positions = ko.utils.unwrapObservable(allBindingsAccessor.has('positions') ? allBindingsAccessor.get('positions') : ko.bindingHandlers.percent.positions);
return value.toFixed(positions).replace(/(\d)(?=(\d{3})+\.)/g, "$1,") ;
});
如何修改此函数以检查值是否为负,例如:-23.44 并更改为(23.44)
【问题讨论】:
标签: jquery knockout.js knockout-mapping-plugin