jquery输出值传递给visualforce

时间:2013-03-22 09:20:56

标签: jquery salesforce visualforce

如何将jquery值结果传递给visualforce代码,例如:

我的jquery代码是

 $j('[id$=submit]').on("click", function(){
 var output = [], $jselects = $j(".container .row .span6 #form-details select"), i;
 for (i=0; i < $jselects.length; i += 2)
    output.push($jselects.eq(i).find("option:selected").text() +
                ":" + $jselects.eq(i+1).find("option:selected").text());
})

当我点击此ID时,输出值的生成类似于b:b,s:s,a:a此值将变为output

变量

这是我的visualforce代码

<apex:commandButton id="submit" action="{!myMethod}" value="Submit" styleClass="btn btn-primary" reRender="block">
  <apex:param name="myParam" value="output"/>
</apex:commandButton>

当我按下ID submit时,从jquery获取输出值,它将在此行的output <apex:param name="myParam" value="output"/>处设置。 这里生成了输出文本,但我需要知道如何在<apex>代码中发送该值。

是否有可能......?

感谢您的回答...

3 个答案:

答案 0 :(得分:1)

你有三个选择

1)用参数创建动作功能。然后调用actionfunction并将生成的字符串作为参数传递,就像任何其他javascript函数一样。

2)使用Javascript远程处理。它允许您传递参数以及方法调用。但它要求方法是静态的。

3)使用隐藏的<apex:hiddeninput>字段。然后使用此输入的javascript设置值作为您的字符串。然后,这将通过任何常规的顶点事件(apex:commandButton or apex:commandLink

传递给控制器

答案 1 :(得分:0)

这里有一个关于如何将javascript值传递给apex方法的好示例:

http://blogs.developerforce.com/developer-relations/2009/10/passing-javascript-values-to-apex-controller.html

您应该使用apex:actionFunction

答案 2 :(得分:0)

您可以像这样使用RemoteAction: 在javascript中执行此操作:

Visualforce.remoting.Manager.invokeAction(
   '{!$RemoteAction.yourController.yourfunction}',your_data,
           function(result, event){
              //the result of your apex code
           }
);
在您的顶点

执行此操作:

@RemoteAction
public static string yourfunction(String your_data) {

    // do your stuff
    return result;

}