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>");
}
我没有使用以下JavaScript函数获取val
的值:
function drillDownReport1(reportnumber,val) {
alert("val"+val);
}
任何帮助表示赞赏!
答案 0 :(得分:2)
这是因为生成的javascript是val
=“toto”
javascript:drillDownReport1(2,toto)' />")
而不是
javascript:drillDownReport1(2,"toto")' />")
所以你需要通过引用你的字符串来逃避。像那样:
.append( "'color='A186BE' link='javascript:drillDownReport1(2,\""+val+"')' />")
答案 1 :(得分:1)
使用
var val=ob[i].toString();
而不是
String val=ob[i].toString();
原因,你知道,这是JavaScript。
答案 2 :(得分: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>");