0

あるJavaScript関数から別のJavaScript関数にパラメーター値を渡そうとしています。

以下のコードから:関数から関数に2つの値をformatLink渡していますがopenDialog、最初のvalue(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 に答える