JavaScript - cambiar el title de un elemento con javascript

 
Vista:

cambiar el title de un elemento con javascript

Publicado por Andrés el Abducido (1 intervención) el 08/12/2005 22:47:31
Hola:

Llevo alrededor de una semana tratando de que cuando le pase el mouse por encima de un combo me muestre el label en el title. Es decir: en los combos de mi página pueden existir elementos cuya etiqueta sea mucho más grande que el tamaño del combo y necesito poder mostrar dicha etiqueta en el title del select.

Comencé con una pichonada tratando de llamar a la función desde el title del select. Como supondrán esto lo que hace es devolver en el title un mensaje que dice "titulo()" y jamás que nunca el tan deseado text del elemento seleccionado. Sé que es una novatada, pero ilustra que es lo que necesito. He aquí mi código:

<script language="text/javascript">

function titulo() {
combo = formulario.esteselect;
indice = combo.selectedIndex;
return combo[indice].text;
}

</script>

y en el select:

<form name="formulario">
<select name="esteselect" title="titulo()">
...
</select>
</form>

Alguna idea?
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

RE:cambiar el title de un elemento con javascript

Publicado por orlando (7 intervenciones) el 09/12/2005 19:37:40
En mi opinion lo que debes hacer es tener una etiqueta cerca de cada combo que sea la muestre el contenido del mismo porque creo que lo del title con el combo no funciona.

Deberias tener por ejemplo

<span onMouseOver="muestra('sel','title')" onMouseOut="oculta('title')"> <select name="sel" id="sel" style="width:200px" >
<option>Ejemplo1</option>
<option>Este es un texto muy largo que no se ve en el combo</option>
</select></span><br>
<span id="title" style="visibility:hidden" ></span>
<script language="JavaScript">
function muestra(selectid,titleid){
var titleTag=document.getElementById(titleid);
var selectTag=document.getElementById(selectid);
titleTag.innerHTML=selectTag.options[selectTag.selectedIndex].text;
titleTag.style.backgroundColor="rgb(255,244,244)";// Aqui pones un color de fondo qeu se parezca al de los titulos puse uno cualquiera

titleTag.style.visibility='visible';
}

function oculta(titleid){
var titleTag=document.getElementById(titleid);
titleTag.style.backgroundColor="#FFFFFF" ;
titleTag.style.visibility='hidden'
}
</script>
La etiqueta <span id="title" debe estar donde mejor se vea para ti yo la puse debajo enecrre el combo o sea <select> en una etiqueta span para que reaccione a los eventos onmouseover y onmouseout correctamente.
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