angularjs xeditable number但源是字符串格式

时间:2015-11-16 11:57:32

标签: angularjs x-editable

我正在使用xeditable来内联编辑数据。现在我想编辑一个数字字段,但源数据包含数字字符串格式。所以我收到错误ngModel:numFmt。如何将字符串格式的数字(例如:0.3)转换为xeditable的数字?

我尝试使用string-to-number指令,但似乎xeditable无法识别它:

        <td>
            <span data-editable-number="row.factor" 
                data-ng-model="row.factor"
                data-e-name="factor" 
                onbeforesave="validateRow(data, row.id)"
                onaftersave="save(row)" 
                data-e-required
                string-to-number="string-to-number"
            >
                {{row.factor}}

            </span>
        </td>

1 个答案:

答案 0 :(得分:1)

您可以创建一个过滤器以将String转换为Integer

php

并像这样使用

editable-number =&#34; row.factor | num&#34;

工作Plunker

之前没有更新模型的工作,更好的方法是事先转换数据。

e.g

app.filter('num', function(){
    return function(input) {
        return parseInt(input, 10);
    };
});

然后在您的视图中使用var rows = [{factor:"1"}, {factor: "4"}, {factor: "9"}]; var tranformed_rows = rows.map(function(row) { row.factor = parseInt(row.factor); return row; });