从JSP var向Javascript发送回调函数

时间:2015-04-14 11:19:41

标签: java javascript jquery jsp

我对使用回调函数的javascript方法有疑问。 我有一个jsp,我定义了一个要调用的回调函数。

 <c:set var="callbackMethod" value="dispatchRFQDocument.loadDocumentGroup" scope="request"/>

然后从下一个JSP如果我从onClick调用该回调,一切都像魅力一样。

 <a id="documentComponentLinkId"
   href="javascript:void(0);" onclick="documentDialog.openDocumentsDialog(${callbackMethod})">
    <i id="documentsDialog" class="fa fa-folder-open-o">
        <spring:message code="label.procurement.stopProcedure.documents"/>
    </i>
</a>

但是,我没有使用onClick事件,而是想在我的Javascript上绑定事件并在那里调用回调。无法再调用回调方法,因为它是一个文字。

在我的JSP中

   <script>
         var callbackMethod = "${callbackMethod}";
   </script>

并在Javascript中

var initListener = function () {
    $('#documentComponentLinkId').click(function () {
        documentDialog.openDocumentsDialog(callbackMethod);
    });
};

有什么建议吗?

问候。

2 个答案:

答案 0 :(得分:0)

您可以像以前一样直接将回调方法传递给openDocumentsDialog()

var initListener = function () {
    $('#documentComponentLinkId').click(function () {
        documentDialog.openDocumentsDialog(${callbackMethod});
    });
};

答案 1 :(得分:0)

您正在将变量 callbackMethod 设置为字符串。

实际上,您必须将其设置为函数定义而不是这样做。

我认为下面应该可以正常工作:

  

var callbackMethod = dispatchRFQDocument.loadDocumentGroup