En primer lugar gracias por responder!.
Aqui tienes la partes de codigo javascript y HTML :
<html>
<head>
Código Javascript
:
Ver original<script src="jquery-2.1.3.min.js" type="text/javascript"></script>
<script type="text/javascript">
function buscar_enArray(dato,array){
var i=0;
while(i<array.length){
if(array[i]== dato){
return true;
break;
}
else{return false;}
i++;
}
}
$(document).ready(function(e) {
$("#seleccio_org").on("change",function(){
//Creacion array campo Organization
llista=document.formulari.elements["seleccio_org[]"];
llista2=document.formulari.elements["seleccio_org[]"].selectedIndex;
opcions = llista.options;
var dades_ORG=[];
if( llista2 !=-1 ) {
for (i=0;i<opcions.length;i++) {
if (opcions[i].selected==true) {
dades_ORG.push(opcions[i].value);
}
}
}
else{
for (i=0;i<opcions.length;i++){
dades_ORG.push(opcions[i].value);
}
}
//Creacio array Llista CHECKBOX
var dades_llista= [];
//$( "input[ name='org[]']:not(:checked)").each(function(){
//$("input[name='org[]']:checked").each(function(){
$("input[name='org[]'").each(function(index, element) {
dades_llista.push($(this).val());
});
for(var j=0;j<dades_llista.length;j++){
//alert("valors de llista: "+dades_llista[j]+" valors de ORG: "+dades_ORG[x]);
if(buscar_enArray(dades_llista[j],dades_ORG)){
/*$("input[value="+dades_ORG[j]+"]").siblings('label').parent('li').parent('div').hide(300);
$("input[value="+dades_ORG[j]+"]").css("cheked","false");
$("#ol_eval").find('div').hide(300);*/
$("#CAPA_ORG_"+j).show(300);
$("#CAPA_EVAL_"+j).show(300);
$("#org_"+j).css("checked",true);
}
else{
//alert("dades_llista: "+dades_llista);
/*$("input[value="+dades_ORG[j]+"]").siblings('label').parent('li').parent('div').show(300);
$("input[value="+dades_ORG[j]+"]").css("cheked","true");
$("#ol_eval").find('div').show(300);*/
("#CAPA_ORG_"+j).hide(300);
$("#CAPA_EVAL_"+j).hide(300);
$("#org_"+j).css("checked",false);
}
}
}); //al seleccionar camp ORG
});//document
</script>
</head>
<body>
Código PHP:
Ver original<?php
include('conectar.php');
if (!$conexio=conectar_bd()){
}
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()' >";
echo" <option value='0'> --Escoja opción-- </option>";
$org = mysqli_query($conexio, "SELECT * from organization"); echo"<option value='".$fila['organization']."' id='$idopt".$id."' selected/>"."<b>".$fila['organization']."</b>"."</option>";
$id++;
}
?>
<ol class="tree">
<li><label for="organization"><b>Organization</b></label> <input type="checkbox" id="organization" value="organization" " onclick="visualitzarLLista()"/>
<ol>
<div id="GENERAL" style="display: none;"></div>
</ol>
</li>
</ol>
</body>
</html>
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:
<?php
$iden="org_";
$capaEVAL="CAPA_EVAL_";
$capaORG="CAPA_ORG_";
$idorg=0;
$numcapa=0;
$numORG=0;
for($i=0;$i<count($valor1);$i++){ echo"<div id='$capaORG".$numORG."' style='display: block;' class='abuelo'";
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
echo"</div>";
echo"<ol id='ol_eval'>";
echo"<div id='$capaEVAL".$numcapa."' style='display: none;'>";
echo"</div>";
echo"</ol></li>";
$numcapa++;
$idorg++;
$numORG++;
}
}
}
}
}
?>
Si hay cualquier aclaració que veais , solo me lo teneis que comentar.
Un saludo y gracias otra vez.