Ver Mensaje Individual
  #7 (permalink)  
Antiguo 20/02/2006, 17:17
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Hola todos :

ostayde : la verdad que en este sitio tratan demasiado bien a la gente. Desde JorgitoAlfajor que te avisó sobre el error de foro hasta Cluster que te editó el título para que no tuvieras que gastarte las yemas.
Ni hablar de Cap.Buscapina que encima te respondió con un código.

Te sugiero que leas este tema

Campaña "preguntas inteligentes para obtener respuestas rapidas"

Si no sabes en que foro preguntar, usa el de Web General; aunque si en verdad no sabes si es PHP, javascript o qué ... tal vez deberías estudiar un poco antes de meterte a hacer nada.

Un dato que nadie mencionó hasta ahora : ¿para qué quieres seleccionar con un click en vez de [CTRL]+click o [SHIFT]+click?.
Va contra todas las reglas de accesibilidad. Por más que pongas un cartel enorme sobre el selector diciendo que cambiaste el método para marcar opciones, siempre le vas a complicar la vida a alguno de tus visitantes, y gratuitamente.

Es como si en vez de abrir menúes con [ALT]+letra de acceso, lo cambiaras por [TAB]+la letra. Si todos ya aprendimos un método, no tienes por qué modificarlo.

(En realidad a mi se me ocurren un par de situaciones para hacerlo, pero son un poco rebuscadas y no creo que sea tu caso).


Cap.Buscapina : muy ingenioso tu ejemplo. Lo unico objetable es algo que ignoraría en tu mensaje si no fuera porque lo estoy viendo muy seguido por todo el foro, y es la acotación sobre el comportamiento de IE. Se ha vuelto costumbre echarle la culpa de todo a ese navegador -hasta de lo que hace bien- y no solo no me parece justo, sino que sirve de excusa para que nadie investigue, o peor, para que quienes nunca investigan lo repitan sin tener idea de lo que dicen.

El problema de Firefox es que tiene un poco de pereza con los escripts, por eso hay que elegir bien el evento y así nos aseguramos de que también funcione en navegadores más rápidos, que de otra forma terminan superponiendo operaciones.

Prueba con

Código:
<html>
<head>
<script>
todos = new Array();
function marcar(s) {
cual=s.selectedIndex;
for(y=0;y<s.options.length;y++){
if(y==cual){
s.options[y].selected=(todos[y]==true)?false:true;
todos[y]=(todos[y]==true)?false:true;
}else{
s.options[y].selected=todos[y];
}}} 
</script>
</head>

<body>
<form name="f">
<select name="sel" size="7" multiple="multiple" onchange="marcar(this)" >
<option value="a">a</option>
<option value="c">c</option>
<option value="d">d</option>
<option value="e">e</option>
<option value="r">r</option>
<option value="t">t</option>
<option value="y">y</option>
</select></form></body>
</html>
Saludos (y felices sueños).