4

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 を押すと、submitjquery から出力値が取得され、outputこの<apex:param name="myParam" value="output"/>行の の場所に設定されます。ここで出力テキストが生成されますが、この<apex>コード内でその値を送信する方法を知る必要があります。

できるかできないか…?

あなたの答えに感謝します...

4

3 に答える 3

1

3 つのオプションがあります

1) パラメータでアクション関数を作成します。次に、アクション関数を呼び出し、生成された文字列をパラメーターとして渡します。これは、他の JavaScript 関数と同様です。

2) Javascript リモーティングを使用します。メソッド呼び出しとともにパラメーターを渡すことができます。ただし、メソッドが静的である必要があります。

3) 隠し<apex:hiddeninput>フィールドを使用します。次に、この入力の JavaScript 設定値を文字列として使用します。次に、これは通常の apex post events( 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 に答える