Holas a todos....
Tengo una duda. tengo unos radios y quisira que al presionar un boton se me quite el radio q esta checkeado....
sera q me explico y alguien puedo ayudarme????
Gracias a Todos
| ||||
Deschequear un radio Holas a todos.... Tengo una duda. tengo unos radios y quisira que al presionar un boton se me quite el radio q esta checkeado.... sera q me explico y alguien puedo ayudarme???? Gracias a Todos
__________________ |
| ||||
Re: Deschequear un radio Hola: Veo un par de maneras posibles de hacerlo, pero la más elegante me ha parecido ésta: Detectar el radio seleccionado, y sustituirlo por un nuevo elemento desmarcado. Código PHP: Un saludo.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: Deschequear un radio Hola: La verdad es que no había pensado en reemplazar el elemento checkeado por uno nuevo, pero por experiencia en el manejo de controles yo diría que en vez de crear un elemento nuevo con createElement, es mejor "clonar" uno con todos sus atributos creados (tal vez solo asignar el value)... Otra cosa que recuerdo es que explorer implementa mal getElementsByName()... curiosamente la selección en explorer se hace (al menos en viejas versiones) por el id (como si pudiera repetirse)... Acabo de probar en explorer 7 y parece que la colección ya funciona, pero al probar el script inserté una línea para contar los radios, y por cada "borrado" de un radio, el "length" mengua (porque no se asigna bien el name)... Con unos toquecitos, se consigue que funcione en explorer (al menos el 7)
Código:
Saludos function desSeleccionar(nombre) { var losRadio = document.getElementsByName(nombre); //alert(losRadio.length); for(var i=0; i<losRadio.length; i++) { if( losRadio[i].checked ) break; } if( i<losRadio.length ) { // Existe el elemento var elRadio = losRadio[i]; alert(elRadio.value); var nuevoRadio = losRadio[(i + 1) % losRadio.length].cloneNode(true); //var nuevoRadio = document.createElement("INPUT"); //nuevoRadio.type = "radio"; //nuevoRadio.name = nombre; nuevoRadio.value = elRadio.value; elRadio.parentNode.replaceChild( nuevoRadio, elRadio ); } }
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
Re: Deschequear un radio Hola a todos. ¿Valdría esto?
Código:
Saludos, function desSeleccionar(nombre) { for (i=0; ele = document.getElementsByName(nombre)[i]; i++) ele.checked = false; } |
| ||||
Re: Deschequear un radio Hola: Sí que funciona el código de JavierB (al menos en los 4 navegadores donde lo he probado... Safari, Opera, Firefox y explorer bajo window)... no recuerdo en que ocasión y navegador he tenido problemas anteriormente... tal vez en versiones anteriores de alguno de ellos, o en otrs circunstancias... Saludos
__________________ Por favor: No hagan preguntas de temas de foros en mensajes privados... no las respondo |
| ||||
Re: Deschequear un radio Ui, pues no era tan dificil, pensaba que no se podía hacer con un código tan sencillo como el de Javier. Y definitivamente, mi código era mejor con cloneNode(true) (no se me había ocurrido), y quizás sin condicionales al final (comprobamos dos veces la misma cosa), con toda la ristra final dentro del condicional del for. Bueno, pues a sido cómodo. Un saludo.
__________________ - Haz preguntas inteligentes, y obtendrás más y mejores respuestas. - Antes de postearlo Inténtalo y Búscalo. - Escribe correctamente tus mensajes. |
| ||||
Re: Deschequear un radio oigan muchas gracias por su colaboracion y ayuda.. me dejaron anonadada con sus respuestas puesto que de javascript no domino mucho.. gracias chiquill@s
__________________ Última edición por Mirovita; 01/10/2007 a las 06:26 |