javascript “计算机07301”未定义错误,怎么回事?

来源:百度知道 编辑:UC知道 时间:2024/06/06 16:56:55
我用JSP写个页面,select的二级关联,选择第一个select,然后在第二个select中显示出相应的班级名称。如果班级名是数字就没问,换成中文后提示“计算机07301”未定义。
我用MYSQL数据库,班级名已经转成GBK码
function changelocation(locationid) //第一个select选项变化激发的事件
{
clearClass();

<%
while(allClassInfo.hasNext()){
Classinfo c = (Classinfo) allClassInfo.next();
System.out.println(c.getclassName());
%>
// alert(<%=c.getdepID()%>==locationid);
// alert(<%=c.getclassName()%>);

var s=<%=c.getclassName()%>;//想从这获取班级名
if (<%=c.getdepID()%> == locationid)
{
var option=new Option(s,<%=c.getclassID()%>);
// document.all.class.options[document.all.class.options.length] = new Option(subcat[i][0],subcat[i][1]);
$("class").options.add(option);

}
<%}

没在JSP标签外加引号。。。。
var s="<%=c.getclassName()%>"

楼上说的对,未定义,也就是变量或函数未定义了,
那么就可能把你的 计算机07301 当做一个变量

var s = "'" + <%=c.getclassName()%> + "'";//想从这获取班级名

这样写,那么打印出来 s 就是一个字符串了,