首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

JS里的switch如何写

2012-10-21 
JS里的switch怎么写?//switch(temp.message.List[i].State)/// {//case 0://orderstate未付款//break

JS里的switch怎么写?
// switch(temp.message.List[i].State)
  /// {
  // case 0:
  // orderstate="未付款";
  // break;
  // case 1:
  // orderstate="未发货";
  // break;
  // case 2:
  //// orderstate="未收货";
  // break;
  // case 3:
  // orderstate="已收货";
  // break;
  // 
  // }


 if(temp.message.List[i].State==0)
  orderstate="未付款";
  else if(temp.message.List[i].State==1)
  orderstate="未发货";
  else if(temp.message.List[i].State==2)
  orderstate="未收货";
  else
  orderstate="已收货";


temp.message.List[i].State字段在数据库里为int 型,我这个switch语句为什么不执行啊~~~用if ,else语句就好的很……真是无语了,哪位大侠不吝赐教,小女子不胜感激!!!

[解决办法]
在数据库是int,到了页面可未必了
你试试
alert(typeof temp.message.List[i].State);
看看究竟是数值还是字符串,如果是string
就把case后的数字加上引号

[解决办法]
目测 原因就是 temp.message.List[i].State是字符串导致的

而if可以成功是因“==”不检测类型,"0"==0是为true的,===才会检测类型是否相同,"0"===0为false
[解决办法]
switch(parseInt(temp.message.List[i].State))
{
case 0:
orderstate="未付款";
break;
case 1:
orderstate="未发货";
break;
case 2:
orderstate="未收货";
break;
case 3:
orderstate="已收货";
break;
 
}

要转成整形的。
[解决办法]

JScript code
var id=temp.message.List[i].State;//id-0 强制转数字 switch(id-0) {   case 0:   orderstate="未付款";   break;  case 1:   orderstate="未发货";  break;   case 2:   orderstate="未收货";  break;   case 3:  orderstate="已收货"; break; } alert(orderstate);
[解决办法]
// switch(parseInt(temp.message.List[i].State))
/// {
// case 0:
// orderstate="未付款";
// break;
// case 1:
// orderstate="未发货";
// break;
// case 2:
//// orderstate="未收货";
// break;
// case 3:
// orderstate="已收货";
// break;
//
// }

热点排行