【问题标题】:Replace knockout value before posting to server在发布到服务器之前替换淘汰赛值
【发布时间】:2014-04-26 21:08:08
【问题描述】:

我对淘汰赛完全陌生,所以请多多包涵:)

长话短说:丹麦(欧洲)小数点类似于 1.000,99(所以点和逗号颠倒了),我在将值发布到我的 MVC 服务器时遇到了很大的问题。

我需要在发布之前将丹麦小数的字段反转为英文小数。

这是一个示例代码...

var Item = {
    name: ko.observable(),
    price: ko.observable()
};

function SaveItem() {

    var data = {
        'item': ko.toJS(Item)
    };

    $.ajax({
        url: 'my_url',
        type: 'post',
        dataType: 'json',
        data: JSON.stringify(data),
        contentType: 'application/json',
        success: function (d) {
        },
        error: function (err) {
        },
        complete: function () {
        }
    });
};

使用上面的代码,如何在发布到服务器之前反转逗号和点?

我试过了,但是失败了……

function SaveItem() {

    var koData = ko.toJS(Item);
    koData.price = koData.price.replace(".", "¤").replace(",", ".").replace("¤", ".");

    var data = {
        'item': koData
    };
...
...

什么是最好的“通用”解决方案?

【问题讨论】:

    标签: asp.net-mvc json knockout.js


    【解决方案1】:

    您的代码有效。您只是忘记将转换后的值分配回属性...

    koData.price = koData.price.replace(".", "¤").replace(",", ".").replace("¤", ".");
    

    【讨论】:

    • 谢谢 :) ... 假设我有 20 个“价格”变量,有没有更通用的方法,或者我必须一次做一个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-08
    • 1970-01-01
    • 2019-03-31
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    相关资源
    最近更新 更多