转换表单中的特定值以避免 1.0 不等于 1



我目前正在尝试将对表单所做的所有更改放入 JSON 中。如果没有更改,则 JSON 为空。该窗体包含字符串、整数和浮点数的值。因此,我不能将它们全部转换为特定类型。

直到我遇到控制台的结果.log语句batchsize:string 1.0 does not equal string 1,这不是问题。显然,说两个字符串不相等是正确的,但是我很难找到一种方法来让我比较它们而不会成为问题。有人有什么建议吗

function getChanges()
{
//Get All User made changes form the website
var returnJSON = "{ ";
$('#form *').filter(' input:not([type="submit"])').each(function(){
    var current = this.value;
    var original = this.getAttribute('value')
    var id = $(this).attr('id');
    if((id!=="prod")&&(id!=="prodamt")&&(id!=="subtotal")&&(id!=="matlamt")&&(id!=="tax")&&(id!=="total")&&(id!=="matl")&&(id!=="prod-detail-formula-price")&&(id!=="prod-detail-formula-taxable")) //this ones for you zoe
        if(current !== original)
        {   
            returnJSON += '"'+id+'" : { "original":"'+original+'", "modified":"'+current+'"},';
            console.log(id+":"+typeof original+ original +" does not equal " +typeof current+current);
        }   
});
returnJSON = returnJSON.substr(0, returnJSON.length-1);
returnJSON += '}';
return returnJSON;
}

使用$.isNumeric(),如果两者都是数字,请检查它们是否等于使用parseFloatparseInt转换为数字的数字

最新更新