Cita:
Iniciado por carlod_39 ... lo que pasa es que respondieron tan rápido que pensé que ya se avía entendido
========================================== Cita:
Iniciado por racba Hola emprear:
Revise tu codigo y esta barbaro.
Sí, como de costumbre. Yo no se lo digo porque parece que fuera un chupamedias.
Lo que no me exime de agregar algo más.
emprear : El asunto que me llamó la atención del ejemplo de
racba, es que si bien ya es C&P, no deja de ser didáctico. Y encima cubre esa falta de precisión original que todavía seguimos comentando.
Si bien yo hubiese empezado a probar con nodos, él prefirió el
innerHTML, que es más fácil de entender.
Porque resulta que otra cosa que se podía "cambiar" era el contenido del
anchor.
La lógica sería así : para cambiar el
href podemos hacerlo de la manera fácil, tal como lo pusiste tú
Código:
...
document.getElementById('destino').href = "";
...
pero para cambiar el texto o vas a los nodos o mueres en el
innerHTML.
¡Y para eso se explica todo en
innerHTML!
Tu idea es usar un escript que dependa del selector.
El ejemplo anterior hace depender el
select de un
array.
Aunque no totalmente.
El siguiente paso sería crear también los
option dependiendo de los elementos de
array's.
Un mecanismo del tipo BDAL (Base de Datos
Avant la Lettre) sobre listas en cada
script.
Y por supuesto, usando también
innerHTML.
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
* *"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>cambiar href</title>
<script type="text/javascript">
//<![CDATA[
var _link = new Array('milink0', 'milink1', 'milink2');
//var _dest = new Array());
var _optioncant = _link.length;
var _select;
function llenar_selector(){
var _optiontotal = "";
_select = document.getElementById('id_select');
for (i=0; i< _optioncant; i++){
_optiontotal += "<option value=\""+ _link[i] +"\">"+ _link[i] +"</option>\r\n";
}
_select.innerHTML = _optiontotal;
}
function cambiar_link(){
var _div = document.getElementById('id_div');
_option=_select.options[_select.selectedIndex].index;
for (i=0; i< _optioncant; i++){
if (i == _option){
_div.innerHTML = "<a href=\"http://www."+ _select.options[i].value +".com\">"+ _select.options[i].text +"</a>";
break;
}
}
}
//]]>
</script>
</head>
<body>
<form>
<select id="id_select" onchange="cambiar_link()"
onmousedown="llenar_selector(); this.removeAttribute('onmousedown')">
<option>OPCIONES</option>
</select>
<span id='id_div'></span>
</form>
</body>
</html>
[Nota : a mi me gusta más desvirtuar los temas, pero éste puede seguir mejorando. Para llevarlo a cualquier lado, siempre hay tiempo.]