Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/01/2013, 12:35
carlosuc99
 
Fecha de Ingreso: junio-2011
Mensajes: 342
Antigüedad: 12 años, 10 meses
Puntos: 5
Exclamación Por qué no funciona esto?

Buenas,

Tengo estos archivos:

index.php

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.         function edit(str){
  3.             var xmlhttp;
  4.             if (window.XMLHttpRequest)
  5.               {
  6.               xmlhttp=new XMLHttpRequest();
  7.               }
  8.             else
  9.               {
  10.               xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  11.               }
  12.           xmlhttp.onreadystatechange=function()
  13.               {
  14.               if (xmlhttp.readyState==4 && xmlhttp.status==200)
  15. document.getElementById("editdialog").innerHTML=conection.responseText;                
  16. $( "#editdialog" ).dialog({
  17.                 autoOpen: true,
  18.                 width: 425
  19.                 });
  20.               }
  21.           xmlhttp.open("GET","edit.php?id="+str,true);
  22.             xmlhttp.send();
  23.         }
  24.     </script>
  25.  
  26. $query=mysql_result(SELECT * FROM paises)
  27.  
  28. while ($row = mysql_fetch_assoc($query)) {
  29.       echo $row['pais'];
  30.       echo "<a href=\"#\" onclick=\"edit('".$row["ICAO"]."')\">Edit</a>";
  31. }
  32.  
  33. ?>
  34. <div id="editdialog" title="Edit"></div>

y el edit.php

Código Javascript:
Ver original
  1. <script src="./jquery.js"></script>
  2.     <script src="./ui/jquery.ui.widget.js"></script>
  3.     <script src="./ui/jquery.ui.button.js"></script>
  4.     <script src="./ui/jquery.ui.core.js"></script>
  5.     <script src="./ui/jquery.ui.widget.js"></script>
  6.     <script src="./ui/jquery.ui.mouse.js"></script>
  7.     <script src="./ui/jquery.ui.button.js"></script>
  8.     <script src="./ui/jquery.ui.draggable.js"></script>
  9.     <script src="./ui/jquery.ui.position.js"></script>
  10.     <script src="./ui/jquery.ui.resizable.js"></script>
  11.     <script src="./ui/jquery.ui.dialog.js"></script>
  12.     <script src="./ui/jquery.ui.effect.js"></script>
  13.  
  14. <script>
  15.     $(function() {
  16.         $("#editaircraft")
  17.             .button()
  18.             .click(function(event) {
  19.         });
  20.     });
  21. </script>
  22.  
  23. <?php
  24. require_once ('config.php');
  25. $icao = $_REQUEST["icao"];
  26.  
  27. echo '<tr><td class="forms">Number Classes:</td><td><select id="numberclasses" name="numberclasses">';
  28.         echo "<option value='0'>Select Number of Classes</option>";
  29.         echo "<option value='1'>One Classes (Economy)</option>";
  30.         echo "<option value='2'>Two Classes (Business & Economy)</option>";
  31.         echo "<option value='3'>Three Classes (First, Business & Economy)</option>";
  32. echo '</select></td></tr>';
  33.  
  34.  
  35.  
  36. echo '<tr><td class="forms">First Class Seats:</td><td><input disabled="disabled" type="text" id="firstclassseats" name="firstclassseats" size="30" value=';
  37. echo $row["FirstClassSeats"] . "></td></tr>";
  38.  
  39.  
  40. echo '<tr><td class="forms">Business Class Seats:</td><td><input disabled="disabled" type="text" id="businessclassseats" name="businessclassseats" size="30" value=';
  41. echo $row["BusinessClassSeats"] . "></td></tr>";
  42.  
  43. echo '<tr><td class="forms">Economy Class Seats:</td><td><input disabled="disabled" type="text" id="economyclassseats" name="economyclassseats" size="30" value=';
  44. echo $row["EconomyClassSeats"] . "></td></tr>";
  45.  
  46. ?>
  47.  
  48. <script>
  49.  
  50. $("#numberclasses").change(function() {
  51. value = $(this).val();
  52.  
  53. str = parseInt(value);
  54.  
  55. switch(str)
  56.   {
  57.     case 0:
  58.     $(document).ready(function() {
  59.         $("#firstclassseats").attr("disabled","disabled");
  60.         $("#businessclassseats").attr("disabled","disabled");
  61.         $("#economyclassseats").attr("disabled","disabled");
  62. });
  63.     break;
  64.  
  65.     case 1:
  66.     $(document).ready(function() {
  67.         $("#economyclassseats").removeAttr('disabled');
  68.         $("#firstclassseats").attr("disabled","disabled");
  69.         $("#businessclassseats").attr("disabled","disabled");
  70. });
  71.     break;
  72.  
  73.      case 2:
  74.     $(document).ready(function() {
  75.         $("#businessclassseats").removeAttr('disabled');
  76.         $("#economyclassseats").removeAttr('disabled');
  77.         $("#firstclassseats").attr("disabled","disabled");
  78. });
  79.     break;
  80.  
  81.     case 3:
  82.     $(document).ready(function() {
  83.         $("#firstclassseats").removeAttr('disabled');
  84.         $("#businessclassseats").removeAttr('disabled');
  85.         $("#economyclassseats").removeAttr('disabled');
  86. });
  87.     break;
  88.  
  89.   }
  90. });
  91.  
  92. </script>
  93.  
  94. <?php
  95.  
  96. echo "<tr><td><input id='editaircraft' type='submit' value='Edit Aircraft'></td></tr>";
  97.  
  98. echo "</table>";
  99. ?>
  100.  
  101. </form>

El problema está en este script:

Código Javascript:
Ver original
  1. $("#numberclasses").change(function() {
  2. value = $(this).val();
  3.  
  4. str = parseInt(value);
  5.  
  6. switch(str)
  7.   {
  8.     case 0:
  9.     $(document).ready(function() {
  10.         $("#firstclassseats").attr("disabled","disabled");
  11.         $("#businessclassseats").attr("disabled","disabled");
  12.         $("#economyclassseats").attr("disabled","disabled");
  13. });
  14.     break;
  15.  
  16.     case 1:
  17.     $(document).ready(function() {
  18.         $("#economyclassseats").removeAttr('disabled');
  19.         $("#firstclassseats").attr("disabled","disabled");
  20.         $("#businessclassseats").attr("disabled","disabled");
  21. });
  22.     break;
  23.  
  24.      case 2:
  25.     $(document).ready(function() {
  26.         $("#businessclassseats").removeAttr('disabled');
  27.         $("#economyclassseats").removeAttr('disabled');
  28.         $("#firstclassseats").attr("disabled","disabled");
  29. });
  30.     break;
  31.  
  32.     case 3:
  33.     $(document).ready(function() {
  34.         $("#firstclassseats").removeAttr('disabled');
  35.         $("#businessclassseats").removeAttr('disabled');
  36.         $("#economyclassseats").removeAttr('disabled');
  37. });
  38.     break;
  39.  
  40.   }
  41. });
  42.  
  43. </script>

Ese script debe de cambiar los disabled de los input o dejarlos en función del select. Si yo esto lo hago directamente en el archivo edit.php todo funciona bien. Pero si yo lo hago en desde el index.php con el script Ajax no funciona. No activa ni desactiva nada.

PD: En el index.php el script no tiene valor la variable str que es la que tiene el valor del select.

Última edición por carlosuc99; 12/01/2013 a las 13:27