Foros del Web » Programando para Internet » Jquery »

Duda con if en jquery

Estas en el tema de Duda con if en jquery en el foro de Jquery en Foros del Web. Hola que tal saludos.... Tengo una duda con este if. este es el script en el cual estoy trabajando----en si función pero hay un pequeño ...
  #1 (permalink)  
Antiguo 06/07/2013, 20:32
Avatar de vesper_metal90  
Fecha de Ingreso: enero-2013
Mensajes: 103
Antigüedad: 11 años, 10 meses
Puntos: 1
Duda con if en jquery

Hola que tal saludos.... Tengo una duda con este if. este es el script en el cual estoy trabajando----en si función pero hay un pequeño detalle aquí le vas el código.

Código PHP:
Ver original
  1. include('../_funciones/validaSesion.php');
  2.  
  3. $infoUsuario = $_SESSION['usuario']->getSubsistemas();
  4. $idEmpleado = $infoUsuario['idEmpleado']; //Obtenemos el idEmpleado
  5.  
  6. $idPermisoRegistrar = $_SESSION['usuario']->getValSubsistema('corresp_Registrar'); //Obtenemos el Permiso de Registrar.
  7. $idPermisoLectura = $_SESSION['usuario']->getValSubsistema('corresp_Leer'); //Leer la correspondencia 1|2|3
  8. $PermisoCaptura = $_SESSION['usuario']->getValSubsistema('corresp_Captua'); //NO ES UTILIZADO
  9.  
  10. switch ($idPermisoLectura) {
  11.     case 1: $WHERE = " WHERE turnado_a='" . $idEmpleado . "'";
  12.         break;
  13.     case 2: $WHERE = " WHERE turnado_a='" . $idEmpleado . "'";
  14.         break; //TODO
  15.     case 3: $WHERE = '';
  16.         break;
  17.     default:
  18.         if ($idPermisoRegistrar > 0)
  19.             $WHERE = '';
  20.         else {
  21.             die('ACCESO DENEGADO');
  22.             exit(0);
  23.         }
  24. }
  25.  
  26. $LIKE = '';
  27.  
  28. if (isset($_POST['correspondenciaB']) && isset($_POST['idEmpleadoComprobar'])) {
  29.     $loquepuse = $_POST['correspondenciaB'];
  30.     $LIKE = " AND (id_correspondencia LIKE '%$loquepuse%' OR
  31.             folio LIKE '%$loquepuse%' OR fecha_registro LIKE '%$loquepuse%'
  32.             OR fecha_correspondencia LIKE '%$loquepuse%' OR fecha_ultima_act LIKE '%$loquepuse%'
  33.             OR id_direccion LIKE '%$loquepuse%' OR asunto LIKE '%$loquepuse%' OR turnado_a LIKE '%$loquepuse%'
  34.             OR bFinalizado LIKE '%$loquepuse%')";
  35. }
  36.  
  37. if (isset($_POST['Proceso'])) {
  38.     $WHERE.= " AND bFinalizado = " . $_POST['Proceso'] . " ";
  39. }
  40.  
  41. if (isset($_POST['Leidos'])) {
  42.     $WHERE.= " AND bFinalizado = " . $_POST['Leidos'] . " ";
  43. }
  44.  
  45. if (isset($_POST['Finalizados'])) {
  46.     $WHERE.= " AND bFinalizado = " . $_POST['Finalizados'] . " ";
  47. }
  48.  
  49. $conex = new Conexion($servidor, $usuario, $contrasenia);
  50. $conex->selectDB('correspondencia');
  51. $query = 'SELECT a.*, b.denDireccion, CONCAT(nombreF, \' \',apF, \' \', amF) AS nombre_turnado ' .
  52.         'FROM correspondencia a JOIN ' . BD_CYSA . '.cat_funcionario ON idEmpleado=turnado_a  JOIN ' .
  53.         $bd_Cont . '.' . $tb_Direccion . ' b ON b.clv_dir=id_direccion ' . $WHERE . $LIKE;
  54. //$query = 'SELECT * FROM correspondencia '.$WHERE.$LIKE;
  55. $result = $conex->ejecutaQuery($query);
  56. ?>
  57. <?php
  58. if (mysql_num_rows($result)) {
  59.     ?>
  60.     <div>
  61.         <table  class="tabla_gen" id="listado" style="font-size: 12px;" >
  62.             <tr>
  63.                 <th>FOLIO</th>
  64.                 <th>FECHA</th>
  65.                 <th>DIRECCI&Oacute;N</th>
  66.                 <th>ASUNTO</th>
  67.             <?php if ($idPermisoRegistrar or $idPermisoLectura > 1) { ?>
  68.                     <th>TURNADO A</th>
  69.             <?php } ?>
  70.                 <th>STATUS</th>
  71.             </tr>
  72.     <?php
  73.     while ($row = mysql_fetch_assoc($result)) {
  74.         ?>
  75.                 <tr id="<?php echo $row['id_correspondencia']; ?>" class="linkMenu2" onClick='if( event.preventDefault ){event.preventDefault();} else { event.returnValue = false;} $("#central").load("frm_registro.php?id=<?php echo $row['id_correspondencia'] ?>")'
  76.                     onmouseover="javascript:Hover(this.id, '#DCDCDC','black');" onmouseout="javascript:Hover(this.id, 'white','grey');">
  77.                     <td><?php echo ucfirst($row['folio']); ?></td>
  78.                     <td><?php echo ucfirst($row['fecha_correspondencia']); ?></td>
  79.                     <td><?php echo ucfirst($row['denDireccion']); ?></td>
  80.                     <td>
  81.                         <?php
  82.                         $limite = strlen($row['asunto']);
  83.                         if ($limite > 40) {
  84.                             echo ucfirst(substr_replace($row['asunto'], "...", 40));
  85.                         } else {
  86.                             echo ucfirst($row['asunto']);
  87.                         }
  88.                         ?></td>
  89.                         <?php if ($idPermisoRegistrar or $idPermisoLectura > 1) { ?>
  90.                         <td><?php echo $row['nombre_turnado']; ?></td>
  91.                         <?php } ?>
  92.                     <td class="Estatus"><?php
  93.                 /*$Estatus = "";
  94.                 switch ($row['bFinalizado']) {
  95.                     case "0":
  96.                         $Estatus = "EN PROCESO";
  97.                         break;
  98.  
  99.                     case "1":
  100.                         $Estatus = "LEIDO";
  101.                         break;
  102.  
  103.                     case "2":
  104.                         $Estatus = "FINALIZADO";
  105.                         break;
  106.                 }
  107.  
  108.                 echo $Estatus;
  109.                 */
  110.                 echo $row['bFinalizado'];
  111.                 ?>
  112.                     </td>
  113.  
  114.                 </tr>
  115.         <?php }
  116.     ?>
  117.         </table>
  118.     </div>
  119.     <?php
  120. } else {
  121.     echo '<h3>Búsqueda sin resultados... La Base de Datos de la <i>Correspondencia</i> está vacía.</h3>';
  122. }
  123. ?>
  124. <script type="text/javascript">
  125.  
  126.     function Hover(objId, color,letra) {
  127.         document.getElementById(objId).style.backgroundColor = color;
  128.         document.getElementById(objId).style.color = letra;
  129.     }
  130. </script>

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(function(){
  3.        
  4.  
  5.         $("#listado tr").click(function (){
  6.             var leido = $(this).attr("id");
  7.             var Estatus = $(this).find('.Estatus').html();
  8.             if(Estatus == 1){alert("EN PROCESO");
  9.             }else if(Estatus == 2){
  10.                alert("FINALIZADO");
  11.             }else{
  12.                 var dataString = "idCambiarEstado="+leido;
  13.                 $.ajax({
  14.                     type : "post",
  15.                     url  : "s_seguimiento.php",
  16.                     data : dataString,
  17.                     success:function(){
  18.                     },
  19.                     error:function(){
  20.                         alert("Error Contacte al Departamento de TI");
  21.                     }
  22.                 });
  23.             }
  24.            
  25.         });
  26.     });
  27. </script>

Este script js funciona correctamente cuando quiero validar los estatus del tr en la table dependiento si es 0, 1 o 2. si es 0 lo pasa a 1 si encuentra un 2 no lo cambia lo deja asi esto si lo hace bien hasta aqui.

Pero lo mas adecuado es poner su respectivo significado a cada status quedando así


Código PHP:
Ver original
  1. <td class="Estatus"><?php
  2.                 $Estatus = "";
  3.                 switch ($row['bFinalizado']) {
  4.                     case 0:
  5.                         $Estatus = "EN PROCESO";
  6.                         break;
  7.  
  8.                     case 1:
  9.                         $Estatus = "LEIDO";
  10.                         break;
  11.  
  12.                     case  2:
  13.                         $Estatus = "FINALIZADO";
  14.                         break;
  15.                 }
  16.  
  17.                 echo $Estatus;
  18.                
  19.                 //echo $row['bFinalizado'];
  20.                 ?>
  21.                     </td>

y el cambiamos el js

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.     $(function(){
  3.        
  4.         $("#listado tr").click(function (){
  5.             var leido = $(this).attr("id");
  6.             var Estatus = $(this).find('.Estatus').html();
  7.             alert(Estatus);
  8.             if(Estatus == "EN PROCESO"){alert("EN PROCESO");
  9.             }else if(Estatus == "FINALIZADO"){
  10.                alert("FINALIZADO");
  11.             }else{
  12.                 var dataString = "idCambiarEstado="+leido;
  13.                 $.ajax({
  14.                     type : "post",
  15.                     url  : "s_seguimiento.php",
  16.                     data : dataString,
  17.                     success:function(){
  18.                     },
  19.                     error:function(){
  20.                         alert("Error Contacte al Departamento de TI");
  21.                     }
  22.                 });
  23.             }
  24.            
  25.         });
  26.     });
  27. </script>
el caso es que no funciona ningun if el alert que puse me muestra el estado del tr pero al momento de validarlo nunca entra y se va directo al else cambiando todos los estado a LEIDO y no entiendo por que hace eso que debo de hacer? Saludos amigosss
  #2 (permalink)  
Antiguo 07/07/2013, 06:34
Avatar de alberto510a  
Fecha de Ingreso: abril-2013
Mensajes: 351
Antigüedad: 11 años, 7 meses
Puntos: 35
Respuesta: Duda con if en jquery

Hola, yo nunca usé find() pero según leo devuelve los hijos del padre que selecciones por lo cual si a eso le haces un .html()...¿No devolvería un array? No sé la verdad porque nunca lo usé pero prueba a ver si usando Estatus[i] puedes hacer algo.

Sino es así también puedes hacer $("#listado tr .Estatus").html() y así te ahorras el find.

Saludos
__________________
No hay preguntas tontas, sino tontos que no preguntan.
  #3 (permalink)  
Antiguo 07/07/2013, 20:08
Avatar de vesper_metal90  
Fecha de Ingreso: enero-2013
Mensajes: 103
Antigüedad: 11 años, 10 meses
Puntos: 1
Respuesta: Duda con if en jquery

te devuelve un object amigo pero me diste una gran idea le puse la class en otro td y ya pude validar correctamente el status saludosss

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:57.