4

How to pass jquery value result into visualforce code for example:

My jquery code is

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

When i click this id, the output values are generated like b:b,s:s,a:a This values are stroed in to variable as output

Here my visualforce code

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

When I press the id submit, get the output value from jquery and it will be set in the place of output in <apex:param name="myParam" value="output"/> this line. Here the output text are generated, but I need to know how send that value inside this <apex> code.

Is it possible or not...?

Appreciate for your answer...

4

3 回答 3

1

你有三个选择

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

2) 使用 Javascript 远程处理。它使您可以将参数与方法调用一起传递。但它要求方法是静态的。

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

于 2015-06-09T20:41:02.623 回答
0

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

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

你应该使用apex:actionFunction

于 2013-03-22T13:30:10.540 回答
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;

}
于 2015-06-09T04:28:52.017 回答