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;
 // 
 // }