js,jquery,easyui,param在传递给函数时发生了变化

时间:2014-05-24 15:50:36

标签: javascript jquery jquery-easyui

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);
}

我通过了一个参数&#34; 2014-05-22&#34; showChar_org(vstday)但最后vstday是1987.那是一个奇怪的。镀铬控制台打印如下:

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 

但是当我改变&#34; 2014-05-22&#34;至&#34; 2014-05-21&#34;,结果是1988年。 当我改变&#34; 2014-05-22&#34;至&#34; 2014-05-01&#34;,结果是2008.为什么? 当我向&#34; 2014-05-22&#34;添加双引号(&#34;&#34;)时字符串,结果还可以。代码如下:

 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

任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

当你通过showChart_org(2014-05-20)时,它实际上正在评估只是数字的日期。

2014 - 05 = 2009

2009 - 20 = 1989

这就是2014-05-22让你回归1987年的原因。

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