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 に答える