0

visualforceでapexカスタムコントローラークラスから配列を返し、JavaScriptでその配列を使用したいと思います。

私のやり方:

Javascript:
   var SFObjectArray;
   function myJavascriptMethod()
   {
      SFObjectArray = myArrayItems();
   }


Apex:
<apex:actionFunction name="myArrayItems" 
                     action="{!myArrayItems}" 
                     status="mystatus" 
                     reRender="out"/>
</apex:actionFunction>

Controller:

public class MyController
{
  String[] arrayItems;

   public PageReference myArrayItems()
    {
       arrayItems = new String[]{'abc','def'};
        return null;
    }

    public String[] getItems()
     {
       return arrayItems ;
     }  
}

誰かが私にいくつかの助けを提供できますか?

4

2 に答える 2

3

javascriptを動的にビルドする必要があります。apexコントローラーメソッドはjavascriptオブジェクトを返しません。次のようなvisualforcerepeatタグを使用して、javascript配列を作成します。

var SFObjectArray = new Array();
<apex:repeat value="{!arrayItems}" var="arrayItem">
SFObjectArray.push('{!arrayItem}');
</apex:repeat>
于 2011-06-11T11:34:54.950 に答える
0

また、javascriptオブジェクト/配列を返すjavascriptリモーティング機能を使用することもできます。

controllerLeadReviewToolSetup.asyncFunction(Parameter, function(result, event)
{
    if(event.status)
    {
        for(var i = 0; i < result.size; i++)
        {
           [result[iterator]].toString();

        }
    }
}, {escape:true});

詳細については、http://www.salesforce.com/us/developer/docs/pages/Content/pages_js_remoting.htmをご覧ください。

于 2012-08-22T17:04:08.487 に答える