JavaScript - NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

 
Vista:

NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

Publicado por ELIZA (3 intervenciones) el 24/09/2016 04:52:06
QUE TAL AMIGOS... LES COMENTO MI PROBLEMA, TENGO QUE CREAR UN CONTROL DE ACCESO, Y LO HAGO MOSTRANDO UNA LISTA DE CHECKBOX CON LOS DIFERENTES MENÚS, EL PROBLEMA ES QUE, SI EN EL HTML PONGO LA LISTA, ME MUESTRA SIN PROBLEMAS LOS CHECKBOX, MAS SIN EMBARGO, SI LOS AGREGO DESDE JS SOLO ME MUESTRA LA LISTA EN TEXTO, SIN MOSTRAR LOS CHECKBOX... ALGUIEN ME PODRÍA AYUDAR PORFAVOR... DEJO PARTE DE MI FUNCIÓN... GRACIAS!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
$('#ULmenuAcceso').empty();
var sMenu = "";
for (i = 0; i < data.d.length; i++) {
 
    if (data.d[i].lSubMenu.length > 0) {
        sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label><input type='checkbox' name='" + data.d[i].id + "' id='" + data.d[i].id + "'>     " + data.d[i].Nombre + "</label></a>";
 
        sMenu += "<ul class='interior' style='list-style:none'>";
        for (j = 0; j < data.d[i].lSubMenu.length; j++) {
 
 
            if (data.d[i].lSubMenu[j].lSubSubMenu.length > 0) {
                sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label><input type='checkbox' name='" + data.d[i].lSubMenu[j].id + "' id='" + data.d[i].lSubMenu[j].id + "' />     " + data.d[i].lSubMenu[j].Nombre + " </label></a></li>";
                sMenu += "<ul class='interior' style='list-style:none'>";
                for (h = 0; h < data.d[i].lSubMenu[j].lSubSubMenu.length; h++) {
 
                    sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].lSubSubMenu[h].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label>     " + data.d[i].lSubMenu[j].lSubSubMenu[h].Nombre + "</label></a><input type='checkbox' name='list' id='" + data.d[i].lSubMenu[j].lSubSubMenu[h].id + "' /></li>";
 
                }
                sMenu += "</ul>";
            }
            else {
                sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].id + "\");return false;'><i class='fa fa-caret-down' aria-hidden='true'></i><label ><input type='checkbox'  name='" + data.d[i].lSubMenu[j].id + "' id='" + data.d[i].lSubMenu[j].id + "' />     " + data.d[i].lSubMenu[j].Nombre + "</label></a></li>";
            }
 
        }
        sMenu += "</ul>";
    }
    else {
        sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].id + "\");return false;'><i class='fa fa-caret-down' aria-hidden='true'></i><label><input type='checkbox'  name='" + data.d[i].id + "' id='" + data.d[i].id + "' />     " + data.d[i].Nombre + "</label></a>";
 
    }
    sMenu += "</li>";
//        sMenu += "</ul>";
}
 
 
 
$('#ULmenuAcceso').append(sMenu);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Juan Diego
Val: 4
Ha disminuido su posición en 240 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

Publicado por Juan Diego (37 intervenciones) el 24/09/2016 18:09:29
Hola Eliza, espero estés muy bien.

Hice las respectivas concatenaciones de la variable sMenu y me muestra los checkbox sin problemas.

¿Tal vez estás llamando el js en el lugar incorrecto? por favor verifica que el archivo js esté siendo invocado desde el final de la página HTML o que el código que nos muestras, esté contenida en una función y esta sea invocada desde el body con el evento onload.

Cualquier inquietud estaré atento.

Feliz día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

Publicado por ELIZA (3 intervenciones) el 26/09/2016 18:47:57
Gracias por contestar Juan Diego... ya verifique lo que me comentas, si estoy llamando el js al final de la página html, y la función la llamo desde el envento oncheckedchanged de un radioButton, entra a la función, pues si me enlista los datos, pero lo único es q no muestra el radiobutton, si lo que me genera la variable sMenu lo copio y pego al html si me los muestra :/ , ya llevo varios días intentando, no se que me pudiera faltar
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan Diego
Val: 4
Ha disminuido su posición en 240 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

Publicado por Juan Diego (37 intervenciones) el 26/09/2016 19:10:48
Eliza ¿podrías compartirnos ese fragmento de código, desde la página que lo invoca y el archivo JS que contiene la función?

Quedamos atentos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

NO ME MUESTRA CHECKBOX CREADO DINÁMICAMENTE

Publicado por ELIZA (3 intervenciones) el 26/09/2016 20:31:32
Con esta linea llamo al js
1
<script type="text/javascript">document.write('<script src="scripts/js/cRoles.js?v=' + Math.floor(Math.random() * 100) + '"\><\/script>');</script>


y el archivo js cuenta con las siguientes funciones, remarco en negritas la linea donde se llama la función getAccesos, y dentro de esta está el llamado a la función que construye la lista


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
function procesarCRol(data) {
    $('#divTblRol2').empty();
    //alert(data.d[0].idCatalogo);
      var tbl = "";
    tbl += '<table class="table table-striped table-hover">';
    tbl += '<thead>';
    tbl += '	<tr>';
    tbl += '		<th>&nbsp;</th>';
    tbl += '		<th>Nombre</th>';
    tbl += '		<th>Descripci&oacute;n</th>';
 
    tbl += '	</tr>';
    tbl += '	</thead>';
    tbl += '	<tbody>';
    for (i = 0; i < data.d.length; i++) {
        tbl += '	<tr>';
        tbl += '		<td>';
        tbl += '			<div class="radiobox">';
        tbl += '				<label>';
        tbl += '					<input type="radio" name="rbRoles" id="rbRoles" value="' + data.d[i].idRol + '" style="visibility:visible !important;" data-toggle="modal" data-target="#modalConfRoles"  onclick="getAccesos(\'' + data.d[i].idRol + '\', \'' + data.d[i].Nombre + '\');">';
        tbl += '				</label>';
        tbl += '			</div>';
        tbl += '		</td>';
        tbl += '		<td>' + data.d[i].Nombre + '</td>';
        tbl += '		<td>' + data.d[i].Descripcion + '</td>';
        tbl += '	</tr>';
    }
    tbl += '		</tbody>';
    tbl += '	</table>';
    $('#divTblRol2').append(tbl);
    hideLoading();
}
 
function getAccesos(idRol, Rol) {
    //Revisar el rol
    var RolS = idRol + '-' + Rol;
    $('#hddRS').val(RolS);
    var idP=0;
    if ($('#hddIdPapa').val() != "") {
 
        idP = $('#hddIdPapa').val();
    }
 
    data = '{idPapa : "' + idP + '"}';
    $.ajax({
        type: "POST",
        url: url + 'wsmenu.asmx/GetAccesos',
        contentType: "application/json; charset=utf-8",
        data: data,
        success: function (data) { construirListaAcceso(data, idRol, Rol); },
        error: function (msg) { alert('error: ' + msg.responseJSON.Message); },
        dataType: 'json'
    });
}
 
function construirListaAcceso(data, idRol, Rol) {
 
    $('#ULmenuAcceso').empty();
    var sMenu = "";
    for (i = 0; i < data.d.length; i++) {
 
        if (data.d[i].lSubMenu.length > 0) {
            sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label><input type='checkbox' name='" + data.d[i].id + "' id='" + data.d[i].id + "'>     " + data.d[i].Nombre + "</label></a>";
 
 
            sMenu += "<ul class='interior' style='list-style:none'>";
            for (j = 0; j < data.d[i].lSubMenu.length; j++) {
 
 
                if (data.d[i].lSubMenu[j].lSubSubMenu.length > 0) {
                    sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label><input type='checkbox' name='" + data.d[i].lSubMenu[j].id + "' id='" + data.d[i].lSubMenu[j].id + "' />     " + data.d[i].lSubMenu[j].Nombre + " </label></a></li>";
                    sMenu += "<ul class='interior' style='list-style:none'>";
                    for (h = 0; h < data.d[i].lSubMenu[j].lSubSubMenu.length; h++) {
 
                        sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].lSubSubMenu[h].id + "\");return false;'><i class='fa fa-caret-right' aria-hidden='true'></i><label><input type='checkbox'  name='" + data.d[i].lSubMenu[j].id + "' id='" + data.d[i].lSubMenu[j].id + "' />     " + data.d[i].lSubMenu[j].lSubSubMenu[h].Nombre + "</label></a></li> ";
 
                    }
                    sMenu += "</ul>";
                }
                else {
                    sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].lSubMenu[j].id + "\");return false;'><i class='fa fa-caret-down' aria-hidden='true'></i><label ><input type='checkbox'  name='" + data.d[i].lSubMenu[j].id + "' id='" + data.d[i].lSubMenu[j].id + "' />     " + data.d[i].lSubMenu[j].Nombre + "</label></a></li>";
                }
 
            }
            sMenu += "</ul>";
        }
        else {
            sMenu += "<li><a href='#' onclick='expandeContrae(\"" + data.d[i].id + "\");return false;'><i class='fa fa-caret-down' aria-hidden='true'></i><label><input type='checkbox'  name='" + data.d[i].id + "' id='" + data.d[i].id + "' />     " + data.d[i].Nombre + "</label></a>";
 
        }
        sMenu += "</li>";
//        sMenu += "</ul>";
    }
 
    $('#ULmenuAcceso').append(sMenu);
 
    $('#divTitAcc').empty();
 
    $('#divTitAcc').append('CONTROL DE ACCESOS-' + Rol);
//    alert(idRol);
}



Muchas gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar