Reglamento general de los foros   •   FAQ   •   Buscar en el foro •  Registrarse | Iniciar sesión 



Foros Linux » Desarrollo » Programación


Nuevo tema Responder al tema
 [ 10 mensajes ] 
Patrocinadores

Autor
Buscar:
Mensaje

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Sab Oct 15, 2011 1:55 pm 
Arriba  
hola campañeros.

se que debe ser algo bien facil de hacer lo que les voy a comentar, pero he intentado muchas veces no lo logro.

tengo dos <div>, uno tiene unos enlaces o links <a> y el otro <div> tiene un <input>. Me gustaria ver como al darle clik al enlace o link este dato se pase al <input>

esto es lo que he podido hacer hasta el momento, a ver si alguien con el conocimiento en javascript me indica cual es el error.

Código:
<div id="data">
   <a href="link1.html">Link 1</a><br>
   <a href="link2.html">Link 2</a><br>
   <a href="link3.html">Link 3</a><br>
</div>



<div id="data2">
   <input class="inputbox" readonly="readonly" value="" name="posRegard" id="data2">
</div>


<script language="javascript">
function seleccionar(data){
   a = document.getElementById(data);
   idDiv = document.getElementById('data2');
   inputDiv = idDiv.getElementsByTagName('input');
   for (i = 0; i < td.length; i++){
      inputDiv[i].value = a[i].innerHTML;
   }
}
</script>


Saludos.

_________________
http://greer.nodolinux.com


Última edición por greer el Mar Oct 18, 2011 10:10 am, editado 1 vez en total
 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Sab Oct 15, 2011 2:35 pm 
Arriba  
Por ahí veo una variable "td" (en td.length) que no sé de dónde sale. Además, el readonly no me acaba de gustar, así que yo probaría quitándolo.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Sab Oct 15, 2011 9:28 pm 
Arriba  
lo ajuste entendiendo tu observacion, pero no lo logrue, esto fue lo que hice:

Código:
<div id="data">
   <a href="#">Link 1</a><br>
   <a href="#">Link 2</a><br>
   <a href="#">Link 3</a><br>
</div>



<div id="data2">
   <input class="inputbox" value="">
</div>


<script language="javascript">
function seleccionar(data){
   a = div.getElementsByTagName('a');
   idDiv = document.getElementById('data');
   inputDiv = idDiv.getElementsByTagName('input');
   for(i = 0; i < a.length; i++){
      inputDiv[i].value = a[i].innerHTML;
   }
}
</script>


que puedo estar haciendo mal, donde esta el error o que me hace falta, me parece que esta todo ?

Editado -- Dom Oct 16, 2011 1:28 pm --

viendo detenidamente el codigo que hice, fui estudiandolo y tratar de entender la logica de lo que estaba...

y lo pude lograr jejeje les pongo lo que hice:

Código:
<div id="data">
   <a href="javascript: seleccionar()">Link 1</a><br>
   <a href="javascript: seleccionar()">Link 2</a><br>
   <a href="javascript: seleccionar()">Link 3</a><br>
</div>

<div id="data2">
   <input type="text" name="data2" size="20">
</div>


<script language="javascript">
function seleccionar(){
   a = document.getElementsByTagName('a');
   idDiv = document.getElementById('data2');
   inputDiv = idDiv.getElementsByTagName('input');
   for(i = 0; i < a.length; i++){
      inputDiv[i].value = a[i].innerHTML;
   }
}
</script>


como veran en los link del primer <div> puse: javascript: seleccionar() y ajuste un poco el codigo y quedo! jejeje

cuando doy click en el primer link, este pega lo que dice (Link 1) en el <input> ...pero lo que estoy viendo es que si hago click en el segundo me sigue pegando el Link 1.

logrue hacer lo que queria, jejej pero ahora solo me pasa el primer link... alguna observacion ?

_________________
http://greer.nodolinux.com

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Dom Oct 16, 2011 11:30 am 
Arriba  
El problema lo tienes en el bucle que has puesto.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Lun Oct 17, 2011 1:33 pm 
Arriba  
me fije en el bucle, y si tienes razon...

tienes alguna idea de como podria ser ? no se me ocurre nada :s

_________________
http://greer.nodolinux.com

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Lun Oct 17, 2011 2:31 pm 
Arriba  
Pasa el link como parámetro de la función. No sé si funcionará correctamente, pero puedes intentar esto:
Código:
<div id="data">
   <a href="javascript: seleccionar(this)">Link 1</a><br>
   <a href="javascript: seleccionar(this)">Link 2</a><br>
   <a href="javascript: seleccionar(this)">Link 3</a><br>
</div>

<script language="javascript">
function seleccionar(element){
   //a = document.getElementsByTagName('a');
   idDiv = document.getElementById('data2');
   inputDiv = idDiv.getElementsByTagName('input');
   for(i = 0; i < a.length; i++){
      inputDiv[i].value = element.innerHTML;
   }
}
</script>

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Lun Oct 17, 2011 11:55 pm 
Arriba  
nop... :( no funciono pero estoy vendo para ver que hago... a ver si modifico un poco tambien, a ver que tal.

Saludos y gracias.

Editado -- Mar Oct 18, 2011 3:55 pm --

bueno, despues de buscar y buscar vi en google algo parecido pero con jquery

lo tome de base y lo modifique hasta lograr lo que queria y asi quedo:


Código:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>

<div id="data">
<a href="javascript:seleccionar(1);" >opcion 1</a><br>
<a href="javascript:seleccionar(2);" >opcion 2</a><br>
<a href="javascript:seleccionar(3);" >opcion 3</a><br>
</div>

<div id="data2">
   <input type="text" size="20">
</div>


<script type="text/javascript">
function seleccionar(valor){
jQuery("#data2 input").val(valor);
}
</script>


es exactamente lo que buscaba jejeje pero! nuevamente me di cuenta de algo, actualmente tengo que agregarle un numero 1,2,3

<a href="javascript:seleccionar(1);" >opcion 1</a><br>

para que funcione...

ahora tengo un nuevo dilema jajajaja ...como podria hacer para que esto fuera dinamico ? no tener que ponerle un numero para que el input tome el valor...

yo seguire buscando si alguien tiene algo jjejee se lo voy agradecer

Saludos.

_________________
http://greer.nodolinux.com

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Abr 18, 2007 11:00 pm
Mensajes: 1209
Ubicación: Cojutepeque, El Salvador C. A.

Nota Publicado: Mar Oct 18, 2011 3:47 am 
Arriba  
hum, no entiendo bien lo que necesitas, pero si en vez del valor quieres pasar el indice, puedes usar .index() del jQuery
Código:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<body>
<div id="data">
<a href="#" >opcion 1</a><br>
<a href="#" >opcion 2</a><br>
<a href="#" >opcion 3</a><br>
</div>

<div id="data2">
   <input type="text" size="20">
</div>

<script>

$("a").click(function () {
  // this is the dom element clicked
  var index = $("a").index(this);
  jQuery("#data2 input").val(index);
});


</script>
</body>



aunque inicialmente entendía por tus post que necesitabas el "texto" del link

Código:
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<body>
<div id="data">
<a href="#" >opcion 1</a><br>
<a href="#" >opcion 2</a><br>
<a href="#" >opcion 3</a><br>
</div>

<div id="data2">
   <input type="text" size="20">
</div>

<script>

$("a").click(function () {
 
  a = document.getElementsByTagName('a');

  var index = $("a").index(this);
  jQuery("#data2 input").val(a[index].innerHTML);
});


</script>
</body>



suerte y nos leemos.

_________________
Grüße...
Maiku

Full linux alchemist!!!

 Perfil WWW  

Desconectado
Moderador
Moderador
Avatar de Usuario

Registrado: Mié Nov 28, 2007 12:00 am
Mensajes: 1361
Ubicación: En la X del explorer (pulse para llamar)

Nota Publicado: Mar Oct 18, 2011 8:41 am 
Arriba  
Además de lo que ha dicho maiku, yo añadiría una clase a los enlaces, ya que tal como lo ha dejado todos los enlaces de la página tendrían asociada esa función, y seguramente no quieras eso.

Simplemente, en los enlaces que quieras esa función pones:
Código:
<a href="#" class="fakeLink">....</a>

y modificas la función con:
Código:
$("a.fakeLink").click(function (){ ..... });



PD: ¿Se podría acceder al texto del elemento en cuestion con el siguiente código (suponiendo las condiciones similar al problema)?
Código:
var texto = $(this).text();

Doy por supuesto que puede dar problemas si el enlace tiene otros elementos html dentro de él.

_________________
Descargue el gestor de mp3 "Music Manager" -> (mmlf)
Última versión del gestor "Music Manager" -> (jmmm)

 Perfil  

Desconectado
Forista Medio
Forista Medio
Avatar de Usuario

Registrado: Mar Feb 27, 2007 12:00 am
Mensajes: 279
Ubicación: PANAMA

Nota Publicado: Mar Oct 18, 2011 10:08 am 
Arriba  
gracias akodo, gracias maiku, es exactamante como lo necesitaba jejeje son los mejores, yo igual seguire leyendo mas sobre el tema para poder en algun momento ayudar tambien.

Saludos y gracias.

_________________
http://greer.nodolinux.com

 Perfil WWW  
Mostrar mensajes previos:  Ordenar por  
 [ 10 mensajes ] 
Nuevo tema Responder al tema

Saltar a:  


¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 5 invitados

No puede abrir nuevos temas en este Foro
No puede responder a temas en este Foro
No puede editar sus mensajes en este Foro
No puede borrar sus mensajes en este Foro
No puede enviar adjuntos en este Foro

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group :: Style based on FI Subice by phpBBservice.nl :: Todos los horarios son UTC - 6 horas
Traducción al español por Huan Manwë
phpBB SEO