Js,jquery,easyui,参数在传递给函数时发生了变化

js,jquery,easyui, the param changed when passed to the function

本文关键字:函数 发生了 变化 jquery easyui 参数 Js      更新时间:2023-09-26
function formatData_org() {
    // convert
    obj_num2.formatter = function(value, rec) {
        var baseStr='  '
                + rec.s_date + '<a  class="easyui-linkbutton"     href="javascript:void(0);" plain="true" iconCls="icon-statistic" onclick=showChart_org('+"2014-05-22"+ ')></a>';
        console.log("baseStr: " + baseStr);
        return '<div id="toolbar">'+baseStr+'</div>';
};
function showChart_org(vstday){
       console.log("vstday: " + vstday);
}

我传递了一个参数"2014-05-22"到showChar_org(vstday),但最后的vstday是1987。真奇怪。chrome控制台打印如下:

baseStr: &nbsp;&nbsp;2014-05-22<a  class="easyui-linkbutton" href="javascript:void(0);" 
plain="true" iconCls="icon-statistic" onclick=showChart_org(2014-05-22)></a>
vstday: 1987 

但是当我将"2014-05-22"更改为"2014-05-21"时,结果是1988。当我将"2014-05-22"改为"2014-05-01"时,结果是2008,为什么?当我向"2014-05-22"字符串添加双引号(")时,结果是OK的。代码如下:

 var baseStr='&nbsp;&nbsp;'+ rec.s_date + '<a  class="easyui-linkbutton"href="javascript:void(0);" plain="true" iconCls="icon-statistic" onclick=showChart_org("'+"2014-05-22"+ '")></a>';

chrome控制台打印如下:

baseStr: &nbsp;&nbsp;2014-05-22<a  class="easyui-linkbutton" href="javascript:void(0);"plain="true" iconCls="icon-statistic" onclick=showChart_org("2014-05-22")></a> 
vstday: 2014-05-22

当你通过showChart_org(2014-05-20)时,它实际上是在计算日期,而日期只是数字。

2014 - 05 = 2009
2009 - 20 = 1989

这就是为什么2014-05-22返回1987的原因。

所以你需要将它作为字符串传递以忽略它:)