0

我正在尝试将参数值从一个 javascript 函数传递给另一个。

从下面的代码:我在函数之间传递两个值formatLinkopenDialog但只有第一个值(cellvalue)正确传递,但发送值(para)没有传递。为什么我没有传递给函数 openDialog?请帮我

 <script type="text/javascript">

    function formatLink(cellvalue, options, rowObject)
    {
         var para=image.jpg; 
         return "<a style='cursor:pointer;' onClick='javascript:openDialog("+cellvalue+"),("+para+")'><img width='63' height='25' src='<s:url action='ImageAction' namespace='/myimage/secure'></s:url>" + "?imageId="+para+ "'></a>";
      }

    function openDialog(cellvalue,para) { 
        alert(para);//this is coming as undefine
            alert(cellvalue);//& this values is coming correctly

         //below diaologbox id is given to open
             $("#employees_details").load("<s:property value="loadformurl"/>?themeid="+employee);
            $("#employees_details").dialog('open');
    }
4

1 回答 1

1

在生成的函数调用中有一些额外的括号:

改变

return "<a style='cursor:pointer;' onClick='javascript:openDialog("+cellvalue+"), ("+para+")'><img width='63' height='25' src='<s:url action='ImageAction' namespace='/myimage/secure'></s:url>" + "?imageId="+para+ "'></a>";

return "<a style='cursor:pointer;' onClick='openDialog(\'"+cellvalue+"\', \'"+para+"\')'><img width='63' height='25' src='<s:url action='ImageAction' namespace='/myimage/secure'></s:url>" + "?imageId="+para+ "'></a>";

请注意,我删除了 onClick 处理程序中的结束和开始括号并修复了一些引号:

onClick='openDialog(\'"+cellvalue+"\', \'"+para+"\')'

更新

答案最好在这个小提琴中显示:http: //jsfiddle.net/sHQEn/

于 2012-12-18T20:17:12.813 回答