Foros del Web » Programando para Internet » Javascript »

Problema con inputs y colores

Estas en el tema de Problema con inputs y colores en el foro de Javascript en Foros del Web. Hola Estoy usando este script www.mimeil.com/prueba/index.htm Cuando hago click en la celda o en el input, la celda debe cambiar de color, el problema es ...
  #1 (permalink)  
Antiguo 19/07/2006, 10:36
 
Fecha de Ingreso: enero-2006
Mensajes: 84
Antigüedad: 18 años, 10 meses
Puntos: 0
Problema con inputs y colores

Hola

Estoy usando este script www.mimeil.com/prueba/index.htm

Cuando hago click en la celda o en el input, la celda debe cambiar de color, el problema es que cuando hago click en la segunda celda lo tengo que hacer doble vez, sino no lo hace

y cuando le pongo en "marcar todos", solo cambia de color la primera celda

Como puedo solucionar estos bugs, gracias de antemano
  #2 (permalink)  
Antiguo 19/07/2006, 11:30
 
Fecha de Ingreso: enero-2006
Mensajes: 84
Antigüedad: 18 años, 10 meses
Puntos: 0
Problema Solucionado, pero lo malo es que son 17KB de JavaScript lo cual si alguien tiene un modo de hacer esto con menos kilobytes se agradece
  #3 (permalink)  
Antiguo 19/07/2006, 18:18
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 20 años, 1 mes
Puntos: 4
hola,

la verdad, no leí todo el codigo (es muy largo), pero si interpreto bien lo que querés hacer probá esto:
Cita:
<html>
<head>
<style type="text/css">
<!--
.odd {
font-family: "Times New Roman", Times, serif;
font-size: 12px;
background-color: #EBE1C2;
border: thin dotted #996600;
}
.odd2 {
font-family: "Times New Roman", Times, serif;
font-size: 12px;
background-color: #EBffC0;
border: thin dotted #990000;
}
td label {width:100%; height:100%; display:block}
-->
</style>
<script>
function cambiar(c){
c.parentNode.parentNode.className=(c.checked==true )?"odd2":"odd";
}

function todos(a){
i=document.getElementById('x').getElementsByTagNam e('input');
for(z=0;z<i.length;z++){
if(i[z].type=="checkbox"){
i[z].checked=a;
cambiar(i[z]);
}
}
}
</script>
</head>

<body>
<form><table width="100%" id="x" ><tr >

<td align="center" class="odd" >
<label for="id_rows_to_delete0"><input id="id_rows_to_delete0" name="rows_to_delete[+%60userid%60+%3D+1]" onclick="cambiar(this)" value="DELETE+FROM+%60administrator%60+WHERE+%60us erid%60+%3D+1+LIMIT+1" type="checkbox">
<li>Foro Basico $</li>
</label></td></tr>
<tr >
<td align="center" class="odd" ><label for="id_rows_to_delete1">
<input id="id_rows_to_delete1" name="rows_to_delete[+%60userid%60+%3D+1]x" onclick="cambiar(this)" value="DELETE+FROM+%60administrator%60+WHERE+%60us erid%60+%3D+1+LIMIT+1" type="checkbox">
<li>Foro Basico $</li>
</label></td></tr>

</table>
<span onclick="todos(true)" style="cursor:pointer">Marcar todos/as</span>
/
<span onclick="todos(false)" style="cursor:pointer">Desmarcar todos</span>
</form>
</body>
</html>
está adaptado a tu planteo de codigo, si no, se puede simplificar un poquito.


saludos
__________________
by Capitán Buscapina
.
  #4 (permalink)  
Antiguo 19/07/2006, 21:20
 
Fecha de Ingreso: enero-2006
Mensajes: 84
Antigüedad: 18 años, 10 meses
Puntos: 0
era lo que buscaba pero hay un problema..., el texto que aparece aun lado del input que dice <li>Foro Basico $</li> no se muestra, ya intente ponerlo fuera del label, logicamente falto una etiqueta ul, pero aun asi no funciona, y como tengo que poner datos tabulares, entonces tengo que usar tablas o capas

Pero de cualquier manera lo intente fuera y dentro del label y no aperecen el texto si esta dentro de otra(s) etiqueta(s)

como lo podre solucionar?
, te agradesco tu ayuda

Última edición por NewJava; 19/07/2006 a las 21:27
  #5 (permalink)  
Antiguo 20/07/2006, 09:36
Avatar de Cap.Buscapina  
Fecha de Ingreso: octubre-2004
Ubicación: Argentina
Mensajes: 836
Antigüedad: 20 años, 1 mes
Puntos: 4
lo probé en IE, FF y Opera y el texto siempre estuvo visible.

Por las dudas no es generado dinámicamente con PHP (para descartar que sea ese el problema)

saludos
__________________
by Capitán Buscapina
.
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 18:31.