2015-12-06 30 views
1

我正在做一个JavaScript的学校练习,我必须模拟 预订系统的航班。 要查看已经预订的用户,我创建了两个布尔数组(每个类一个),并且当您预订该地点时,我将其置为false,问题是数组不会放入false ...任何解决方案? 对不起英文不好!数组出功能javascript

<script> 
    var eco = [true, true, true, true, true]; 
    var pri = [true, true, true, true, true]; 
    function economica(n) 
     { 

     var cambiato = false; 
     for (var i = 0; i < 4; i++) { 
      if (eco[i] == true) { 
       switch (i) { 
        case 0: document.getElementById("e1").innerHTML = n; break; 
        case 1: document.getElementById("e2").innerHTML = n; break; 
        case 2: document.getElementById("e3").innerHTML = n; break; 
        case 3: document.getElementById("e4").innerHTML = n; break; 
        case 4: document.getElementById("e5").innerHTML = n; break; 
       } 
       cambiato = true; 
       eco[i] == false; 
       break; 
      } 
     } 
     if (cambiato == false) 
     { 
      if (confirm("Posti in classe economica esaurini \n Vuoi prenotare un posto in prima classe?") == true) { 
       prima(n); 
      } else { 
       alert("Il prossimo volo parte tra 3 ore.") 
      } 


     } 
    } 

    function prima(n) 
    { 

     var cambiato = false; 
     for (var i = 0; i < 4; i++) { 
      if (pri[i] == true) { 
       switch (i) { 
        case 0: document.getElementById("p1").innerHTML = n; break; 
        case 1: document.getElementById("p2").innerHTML = n; break; 
        case 2: document.getElementById("p3").innerHTML = n; break; 
        case 3: document.getElementById("p4").innerHTML = n; break; 
        case 4: document.getElementById("p5").innerHTML = n; break; 
       } 
       cambiato = true; 
       pri[i] == false; 
       break; 
      } 
     } 
     if (cambiato == false) { 
      if (confirm("Posti in classe economica esaurini \n Vuoi prenotare un posto in classe economica?") == true) { 
       economica(n); 
      } else { 
       alert("Il prossimo volo parte tra 3 ore.") 
      } 
     } 
    } 

    function prenota() 
    { 
     var n=document.getElementById("n1").value; 
     if (n == "") 
      alert("Inserire un nome"); 
     else 
     { 
      var x=document.getElementById("set").selectedIndex; 
      if (x == 0) { 
       economica(n);  
      } 
      else { 
       prima(n); 
      } 
     } 
    } 
</script> 
<body> 
<center> 
    <h2 style="color:red"> 
     Benvenuti al sistema di prenotazione<br /> 
    </h2> 
    <form> 


    Nome: <input type="text" id="n1" /> <br /><br /> 
    Classe: <select id="set"> 
       <option value="Economica" selected="selected">Economica</option> 
       <option value="Prima">Prima</option> 
      </select> 
    <br /><br /> 
     <button type="button" onclick="prenota()">Prenota</button> 
    <br /><br /> 
    <table id="tabe" border="1"> 
     <tr> 
     <td id="t1" >Seat Number</td> 
     <td id="t2">Name</td>  
     <td id="t3">Class</td> 
     </tr> 
     <tr> 
     <td>1</td> 
     <td> 
      <span id="e1">Libero</span> 
     </td>  
     <td>Economica</td> 
     </tr> 
     <tr> 
     <td>2</td> 
     <td > 
      <span id="e2">Libero</span> 
     </td>  
     <td>Economica</td> 
     </tr> 
     <tr> 
     <td>3</td> 
     <td> 
      <span id="e3">Libero</span> 
     </td>  
     <td>Economica</td> 
     </tr> 
     <tr> 
     <td>4</td> 
     <td> 
      <span id="e4">Libero</span> 
     </td>  
     <td>Economica</td> 
     </tr> 
     <tr> 
     <td>5</td> 
     <td> 
      <span id="e5">Libero</span> 
     </td>  
     <td>Economica</td> 
     </tr> 
     <tr> 
     <td>6</td> 
     <td> 
      <span id="p1">Libero</span> 
     </td>  
     <td>Prima</td> 
     </tr> 
     <tr> 
     <td>7</td> 
     <td> 
      <span id="p2">Libero</span> 
     </td>  
     <td>Prima</td> 
     </tr> 
     <tr> 
     <td>8</td> 
     <td> 
      <span id="p3">Libero</span> 
     </td>  
     <td>Prima</td> 
     </tr> 
     <tr> 
     <td>9</td> 
     <td> 
      <span id="p4">Libero</span> 
     </td>  
     <td>Prima</td> 
     </tr> 
     <tr> 
     <td>10</td> 
     <td> 
      <span id="p5">Libero</span> 
     </td>  
     <td>Prima</td> 
     </tr> 
    </table> 

</center> 
</form> 

+0

对于一个需要5浏览:'为(VAR I = 0;我<5; i ++)'或给这些跨度一个类并遍历document.querySelectorAll(“spanclass”)或者仅仅是if(pri [i] == true)document.getElementById(“p”+(i + 1))。 innerHTML = n; }' – mplungjan

+0

代码中的重复使我的眼睛流血。请细化您的代码。你应该为教练和首先有一个单一的功能,而且这个开关不适合活下去。 – jcaron

回答

1

你有一个错字导致此错误:

eco[i] == false; 

应该

eco[i] = false; 

而在你的第二个功能相同的错误 - DRY

,您需要更改的循环条件为好,i < 5i <=4

再一次同样的错误,在这两个功能 - DRY

+0

微不足道的错误哈哈,谢谢 – Luca