0
for(int i = 0; i < ob.length; i++) {
  logger.logDebug(this.getClass(),"ob value check- "+ob[i].toString());
  String val=ob[i].toString();
  strXML1.append("<graph caption='City Wise Total Properties' xAxisName='City' yAxisName='Count' decimalPrecision='0' formatNumberScale='0'>")
         .append("<set name='")
         .append(ob[i].toString())
         .append("'  value='" + ob1[i].toString())
         .append( "'color='A186BE' link='javascript:drillDownReport1(2,"+val+")' />")
         .append("</graph>");
  } 

我没有得到val使用以下 JavaScript 函数的价值:

function drillDownReport1(reportnumber,val) {
    alert("val"+val);
}

任何帮助表示赞赏!

4

3 回答 3

2

这是因为生成的 javascript 是 if val= "toto"

javascript:drillDownReport1(2,toto)' />")

并不是

javascript:drillDownReport1(2,"toto")' />")

所以你需要用引号来转义你的字符串。像那样:

.append( "'color='A186BE' link='javascript:drillDownReport1(2,\""+val+"')' />")
于 2013-04-02T11:20:28.320 回答
1

利用

var val=ob[i].toString();

代替

String val=ob[i].toString();

?

因为,你知道,这是 JavaScript。

于 2013-04-02T11:19:10.520 回答
0

你的问题是你把价值val放在你的函数中的方式

因为val是一个字符串,所以你需要把它放在引号中。

strXML1.append("<graph caption='City Wise Total Properties' xAxisName='City' yAxisName='Count' decimalPrecision='0' formatNumberScale='0'>")
        .append("<set name='")
        .append(ob[i].toString())
        .append("'  value='" + ob1[i].toString())
        .append( "'color='A186BE' link='javascript:drillDownReport1(2,\""+val+"\")' />")
        .append("</graph>");
于 2013-04-02T11:19:28.367 回答