如何将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>
代码中发送该值。
是否有可能......?
感谢您的回答...
答案 0 :(得分:1)
你有三个选择
1)用参数创建动作功能。然后调用actionfunction并将生成的字符串作为参数传递,就像任何其他javascript函数一样。
2)使用Javascript远程处理。它允许您传递参数以及方法调用。但它要求方法是静态的。
3)使用隐藏的<apex:hiddeninput>
字段。然后使用此输入的javascript设置值作为您的字符串。然后,这将通过任何常规的顶点事件(apex:commandButton or apex:commandLink
)
答案 1 :(得分:0)
这里有一个关于如何将javascript值传递给apex方法的好示例:
您应该使用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;
}