为什么我写的JS在代码中没反应?高手帮忙看看

joanagle 2011-03-03 02:26:54
这是我的JS代码
<SCRIPT LANGUAGE = JavaScript>
function GetThisTerm(){
Calendar ca = Calendar.getInstance();
int year = ca.get(Calendar.YEAR);//获取年份
int month=ca.get(Calendar.MONTH)+1;//获取月份
alert(month);
swich(month) {
case 1: <option value="201101">第2011年第1期</option>;break;
case 2: <option value="201102">第2011年第2期</option>;break;
case 3: <option value="201103">第2011年第3期</option>;break;
case 4: <option value="201104">第2011年第4期</option>;break;
case 5: <option value="201105">第2011年第5期</option>;break;
case 6: <option value="201106">第2011年第6期</option>;break;
case 7: <option value="201107">第2011年第7期</option>;break;
case 8: <option value="201108">第2011年第8期</option>;break;
case 9: <option value="201109">第2011年第9期</option>;break;
case 10: <option value="201110">第2011年第10期</option>;break;
case 11: <option value="201111">第2011年第11期</option>;break;
case 12: <option value="201112">第2011年第12期</option>;break;
}

}
</script>


源码原来是这样的:
<td colspan="4">问卷当前期数<span class="alerttag">*</span>:
<select name="rsrRemarkF" id="rsrRemarkF" class="input_out" > <option value="201101">第2011年第1期</option>
<option value="201102">第2011年第2期</option>
<option value="201103">第2011年第3期</option>
<option value="201104">第2011年第4期</option>
<option value="201105">第2011年第5期</option>
<option value="201106">第2011年第6期</option>
<option value="201107">第2011年第7期</option>
<option value="201108">第2011年第8期</option>
<option value="201109">第2011年第9期</option>
<option value="201110">第2011年第10期</option>
<option value="201111">第2011年第11期</option>
<option value="201112">第2011年第12期</option>
</select>
</td>


我要实现的是动态显示问卷当前期数,即如果是1月份,则是第1期,2月份是第2期,依此类推。
我修改后的代码是这样的,可是并没有实现我要的效果,大虾们帮忙看看,哪里的问题,偶是初学者,哪里失误了也请大家不要见笑。
<td colspan="4">问卷当前期数<span class="alerttag">*</span>:
<select name="rsrRemarkF" id="rsrRemarkF" class="input_out" >
<script language="JavaScript">
GetThisTerm()
</script>

</select>
</td>
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
joanagle 2011-03-03
  • 打赏
  • 举报
回复
呵呵,问题已解决,已结贴。
再次谢谢热心的ecsoft和zhangsf1982,不然小妹我可能还在继续脑CELL死ING......
zhangsf1982 2011-03-03
  • 打赏
  • 举报
回复
4楼 正解
joanagle 2011-03-03
  • 打赏
  • 举报
回复
太感谢ecsoft了
zhangsf1982 2011-03-03
  • 打赏
  • 举报
回复
你这样是不能实现的,因为你只是在jsp中定义了一个Js的函数,而且这个函数也是有语法错误的

要实现你的要求应该写java 代码


<select name="rsrRemarkF" id="rsrRemarkF" class="input_out" >
<%
Date date = New Date();
int year = date.getYear();
int month=date.getMonth();
%>
<option value="<%""+year+month%>">第<%year%>年第<%month%>期</option>

</select>
ecsoft 2011-03-03
  • 打赏
  • 举报
回复
你写不是javascript代码啊,Calendar 是java中的类啊。可以参考这个:



<script language="JavaScript">
<!--
function GetThisTerm(){
var dt = new Date();
var year = dt.getYear();//获取年份
var month=dt.getMonth()+1;//获取月份

var strOptions="";

var strOptionsChk="";

var strTxt="";
var strValue="";

for(var i=1;i<13;i++){
if(month==i){
strOptionsChk="selected";
}else{
strOptionsChk="";
}
strValue=year+(i<10?"0"+i:i);
strTxt="第"+year+"年第"+i+"期";
strOptions+="<option value='"+strValue+"' "+strOptionsChk+">"+strTxt+"</option>"
}

return strOptions;
}

//-->
</script>





<select name="rsrRemarkF" id="rsrRemarkF" class="input_out" >
<script language="JavaScript">
document.writeln(GetThisTerm());
</script>
</select>

不善^ 2011-03-03
  • 打赏
  • 举报
回复
var myDate = new Date();   
var month =myDate.getMonth()+1;
alert(month);
不善^ 2011-03-03
  • 打赏
  • 举报
回复
参考下这个帖子

http://blog.myspace.cn/e/401693037.htm

你那个 日期 应该 用 date类来算吧?
joanagle 2011-03-03
  • 打赏
  • 举报
回复
没人回答?

58,452

社区成员

发帖
与我相关
我的任务
社区描述
Java Eclipse
社区管理员
  • Eclipse
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧