Foros del Web » Programando para Internet » Jquery »

Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo value?

Estas en el tema de Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo value? en el foro de Jquery en Foros del Web. Hola Muy buenas! Estoy realiazando una lista arbol dinamica, y tengo dudas en la siguiente parte: Tengo un campo select multiple que se carga mediante ...
  #1 (permalink)  
Antiguo 13/07/2015, 12:42
 
Fecha de Ingreso: julio-2015
Ubicación: ANYWHERE
Mensajes: 3
Antigüedad: 9 años, 4 meses
Puntos: 0
Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo value?

Hola Muy buenas!

Estoy realiazando una lista arbol dinamica, y tengo dudas en la siguiente parte:
Tengo un campo select multiple que se carga mediante con los datos provinientes de una consulta mysql.La idea es que al seleccionar cualquier opcion en el campo select tendra que aparecer en la lista arbol y que cuando deseleccione esta opcion en el campo la idea es que desaparezca de la lista arbol.
lo que hago es capturar el evento onchange con jquery y hacer lo siguiente:

- Guardar todas las opciones seleccionadas del campo en una array
-Guardar todo lo que este listado actualmente en el arbol lista , tambien lo guardo en un array

lo que hago es recorer el array de listado arbol una a una y comprovar si esta en array de campo, si esta es que ha sido seleccionado previamente entonces no hago nada y si no esta oculto la capa de este texto.

Tengo dos problemas :
1)Me gustaria recorer todas las capas visibles y obtener el valor del atributo value para guardarlo en array lista arbol para que mas adelante pueda hacer la comparcion descrita anteriormente

2)Mi idea para mostrara o ocultar capa es que no pùedo acceder al la capa abuelo desde el valor del elemento hijo con el siguiiente codigo, no se que pasa que unas veces funciona una parte y otras no.

$("input[value="+datos_ORG[j]+"]").siblings('label').parent('li').parent('div').hi de(300);

Les agradeceria la ayuda de antemano .

Un saludo
  #2 (permalink)  
Antiguo 13/07/2015, 13:33
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 13 años
Puntos: 977
Respuesta: Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo val

Bienvenido a FDW.

Sería de mucha utilidad que nos muestres tanto la estructura de elementos que mencionas (HTML) y el bloque de código (JavaScript) que interactúa con dicha estructura. Si la estructura es dinámica, muéstranos un ejemplo de cómo es que queda. No es necesario que coloques un ejemplo grande, con algo corto y simple será suficiente.

No olvides usar el highlight respectivo.



Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 14/07/2015, 06:08
 
Fecha de Ingreso: julio-2015
Ubicación: ANYWHERE
Mensajes: 3
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo val

En primer lugar gracias por responder!.

Aqui tienes la partes de codigo javascript y HTML :

<html>
<head>
Código Javascript:
Ver original
  1. <script src="jquery-2.1.3.min.js" type="text/javascript"></script>
  2. <script type="text/javascript">
  3. function buscar_enArray(dato,array){
  4.  
  5. var i=0;
  6. while(i<array.length){
  7.    
  8.     if(array[i]== dato){
  9.        
  10.         return true;
  11.         break;
  12.        
  13.         }
  14.         else{return false;}
  15.        
  16.        
  17.     i++;
  18.    
  19.     }
  20. }
  21.  
  22.  
  23. $(document).ready(function(e) {
  24.    
  25.  
  26.  $("#seleccio_org").on("change",function(){
  27. //Creacion array campo  Organization
  28.         llista=document.formulari.elements["seleccio_org[]"];
  29.         llista2=document.formulari.elements["seleccio_org[]"].selectedIndex;
  30.         opcions = llista.options;
  31.         var dades_ORG=[];  
  32.         if( llista2 !=-1 ) {
  33.          for (i=0;i<opcions.length;i++) {
  34.               if (opcions[i].selected==true) {
  35.                   dades_ORG.push(opcions[i].value);
  36.                         }
  37.                      }
  38.                   }
  39.         else{
  40.             for (i=0;i<opcions.length;i++){
  41.             dades_ORG.push(opcions[i].value);
  42.         }
  43.     }  
  44.  
  45. //Creacio array Llista CHECKBOX      
  46.     var dades_llista= [];
  47.     //$( "input[ name='org[]']:not(:checked)").each(function(){
  48.     //$("input[name='org[]']:checked").each(function(){
  49.        
  50.     $("input[name='org[]'").each(function(index, element) {
  51.  
  52.     dades_llista.push($(this).val());
  53.  
  54.     });
  55.        
  56.    
  57. for(var j=0;j<dades_llista.length;j++){
  58. //alert("valors de llista: "+dades_llista[j]+" valors de ORG: "+dades_ORG[x]);
  59.      if(buscar_enArray(dades_llista[j],dades_ORG)){
  60.    
  61.             /*$("input[value="+dades_ORG[j]+"]").siblings('label').parent('li').parent('div').hide(300);
  62.             $("input[value="+dades_ORG[j]+"]").css("cheked","false");
  63.             $("#ol_eval").find('div').hide(300);*/
  64.            
  65.             $("#CAPA_ORG_"+j).show(300);
  66.             $("#CAPA_EVAL_"+j).show(300);
  67.             $("#org_"+j).css("checked",true);
  68.           }
  69.          
  70.           else{
  71.      
  72.             //alert("dades_llista: "+dades_llista);
  73.             /*$("input[value="+dades_ORG[j]+"]").siblings('label').parent('li').parent('div').show(300);
  74.             $("input[value="+dades_ORG[j]+"]").css("cheked","true");
  75.             $("#ol_eval").find('div').show(300);*/
  76.            
  77.             ("#CAPA_ORG_"+j).hide(300);
  78.             $("#CAPA_EVAL_"+j).hide(300);
  79.             $("#org_"+j).css("checked",false);
  80.              
  81.               }
  82.          }
  83.  
  84.      }); //al seleccionar camp ORG
  85. });//document
  86. </script>
</head>
<body>


Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. include('conectar.php');
  5.  
  6.  if (!$conexio=conectar_bd()){
  7.    
  8.     echo"Imposible conectarse con la base de datos: ".mysqli_connect_error();
  9.    
  10.     }
  11.  
  12. echo"<td align='center'><b>Organization</b><br><select id='seleccio_org' name='seleccio_org[]'  style='width:120px' multiple size='5' onChange='obtenir_test();popp()' >"; 
  13.        echo" <option value='0'> --Escoja opci&oacute;n-- </option>";    
  14.  
  15.     $org = mysqli_query($conexio, "SELECT * from organization");   
  16.     while($fila=mysqli_fetch_assoc($org)){
  17.     echo"<option value='".$fila['organization']."' id='$idopt".$id."' selected/>"."<b>".$fila['organization']."</b>"."</option>";
  18.      $id++;
  19.        }   
  20.  
  21. ?>  
  22.  
  23.  
  24. <ol class="tree">
  25.         <li><label for="organization"><b>Organization</b></label> <input type="checkbox"   id="organization" value="organization" " onclick="visualitzarLLista()"/>
  26.             <ol>  
  27.              
  28.                  
  29.                          
  30.                     <div id="GENERAL" style="display: none;"></div>
  31.          
  32.          
  33.                
  34.                  
  35.             </ol>
  36.        </li>
  37.                      
  38. </ol>  
  39. </body>
  40. </html>
  41.  
  42. La capa "GENERAL" se carga con los datos mediante ajax que llama al archivo show.php  al cargar la pagina.Este archivo obtiene los datos enviados desde ajax.y los lista mediante como un arbol , las capas dinamicas las genero de esta forma dentro del archivo show.php:
  43.  
  44.  
  45. <?php
  46.  
  47. $iden="org_";
  48. $capaEVAL="CAPA_EVAL_";
  49. $capaORG="CAPA_ORG_";
  50. $idorg=0;
  51. $numcapa=0;
  52. $numORG=0;
  53.  
  54.  
  55. for($i=0;$i<count($valor1);$i++){  
  56. echo"<div id='$capaORG".$numORG."' style='display: block;' class='abuelo'";                
  57. echo"<li><label for='organization'>".$valor1."</label><input type='checkbox' id='$iden".$idorg."' name='org[]' value='".$valor1."' onclick='show_llista($seleccio_eval,$numcapa,$llista_eval,$pagina,$aa);visualitzarLLista($idorg,$numcapa)';>";//per mostrar evaluation
  58. echo"</div>";
  59.         echo"<ol id='ol_eval'>";
  60.         echo"<div id='$capaEVAL".$numcapa."' style='display: none;'>";  
  61.         echo"</div>";          
  62.         echo"</ol></li>";
  63.         $numcapa++;
  64.         $idorg++;  
  65.         $numORG++;
  66.      
  67.             }  
  68.          }
  69.        }
  70.     }
  71. }
  72.  
  73. ?>




Si hay cualquier aclaració que veais , solo me lo teneis que comentar.
Un saludo y gracias otra vez.

Última edición por riz08; 14/07/2015 a las 06:18
  #4 (permalink)  
Antiguo 05/08/2015, 08:07
 
Fecha de Ingreso: julio-2015
Ubicación: ANYWHERE
Mensajes: 3
Antigüedad: 9 años, 4 meses
Puntos: 0
Respuesta: Como seleccionar ele elemento abuelo o bisabuelo apartir del atributo val

Hola otra vez!

me pueden ayudar porfa.

saludos y a la espera de vuestras respuestas.

Etiquetas: elemento
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 08:19.