这是我的控制器类:
global class MyJSController {
public static String objj { get; set; }
@RemoteAction
public static String getObject_name(){
return objj;
}
@RemoteAction
public static void setObject_name(String s){
objj=s;
}
public String accountName { get; set; }
public static Account account { get; set; }
public static List<Order__c> order{get;set;}
public static List<Units__C>unit{get;set;}
public static List<Widget__c> widget{get;set;}
public MyJSController() {
setObject_name('Order');
} // empty constructor
@RemoteAction
global static Account getAccount(String accountName) {
account = [SELECT id, name, phone, type, numberofemployees
FROM Account WHERE name = :accountName];
return account;
}
@RemoteAction
global static Order__c[] getOrder(){
return ([SELECT id,Name,Date__c,Inbound_Orders__c,Outbound_Orders__c from Order__c]);
}
@RemoteAction
global static List<Units__c> getUnits(){
unit=[SELECT id,Name,Date__c,Inbound_Units__c,Outbound_Units__c from Units__c];
return unit;
}
@RemoteAction
global static List<Widget__c> getWidget(){
widget=[SELECT id,Name,Date__c,Inbound_Widgets__c,Outbound_Widgets__c from Widget__c];
return widget;
}
}
这是我的visualforce页面:
<apex:page controller="MyJSController">
<apex:form >
<apex:selectList id="chooseColor" value="{!object_name}" size="1" onchange="initCharts()" >
<apex:selectOption itemValue="Order" itemLabel="Order"/>
<apex:selectOption itemValue="Unit" itemLabel="Unit"/>
<apex:selectOption itemValue="Widget" itemLabel="Widget"/>
</apex:selectList>
</apex:form>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
// Load the Visualization API and the piechart package.
google.load('visualization', '1.0', {'packages':['corechart']});
// Set a callback to run when the Google Visualization API is loaded.
google.setOnLoadCallback(initCharts);
function initCharts() {
// Following the usual Remoting syntax
// [<namespace>.]<controller>.<method>([params...,] <callbackFunction>(result, event) {...}
// namespace : abhinav
// controller : GoogleChartsController
// method : loadOpps
MyJSController.getOrder(
function(result, event){
// load Column chart
var data = new google.visualization.DataTable();
data.addColumn('string', 'Topping');
data.addColumn('number', 'Slices');
for(var i =0; i<result.length;i++){
var r = result[i];
data.addRow([r.Name,r.Inbound_Orders__c]);
}
var data1=new google.visualization.DataTable();
data1.addColumn('string','Topping');
data1.addColumn('number','Slices');
for(var i=0;i<result.length;i++)
{
var r=result[i];
data1.addRow([r.Name,r.Inbound_Orders__c]);
}
// Set chart options
var options = {'title':'How Much Pizza I Ate Last Night',
'width':400,
'height':300};
// Instantiate and draw our chart, passing in some options.
var chart = new google.visualization.AreaChart(document.getElementById('chart_div'));
var chart1= new google.visualization.AreaChart(document.getElementById('chart_hh'));
chart.draw(data, options);
chart1.draw(data1,options); }, {escape:true});
MyJSController.getObject_name(function(event,result){
alert('Hello'+result);
document.getElementById('dddd').innerHTML=String.ValueOf(result); },{escape:true});
}
</script>
<div id="chart_div" ></div>
<div id="chart_hh"></div>
<div id="dddd">Helloojjfs</div>
</apex:page>
当我调用MyJSController.getObject_name
脚本标签(脚本标签中的最后第四行)时,我得到[Object Object]
. 但是我需要String Order
在构造函数中初始化它。你能告诉我我错在哪里并纠正这个错误吗?