Quiero tener un campo de texto autopoblado con cualquier otro campo de texto que se haya tipeado en él.Jquery: duplicar una entrada de texto en otra
¿Cómo puedo hacer esto?
¡Gracias! Hudson
Quiero tener un campo de texto autopoblado con cualquier otro campo de texto que se haya tipeado en él.Jquery: duplicar una entrada de texto en otra
¿Cómo puedo hacer esto?
¡Gracias! Hudson
corto y simple:
$('#idfield1').keypress(function() {
$('#idfield2').val($(this).val());
});
o para obligar a éste a varios eventos con el fin de actualizar también si se pierde el foco:
$('#idfield1').bind('keypress keyup blur', function() {
$('#idfield2').val($(this).val());
});
Referencia: .keypress()
, .val()
, .blur()
, .bind()
Actualización:
Debido a razones misteriosas para mí, cuando se escribe primer carácter, no se establece en el otro campo de entrada. ¿Alguien tiene alguna idea? ;)
Funciona mediante el uso de keyup
(keydown
también produce el mismo resultado extraño).
Para una alternativa:
o
$('#idfield1').bind('keyup keypress blur', function()
{
$('#idfield2').val($(this).val());
});
Para la versión más reciente de jQuery también se puede utilizar .on
$('#idfield1').on('keyup keypress blur', function()
{
$('#idfield2').val($(this).val());
});
Dustin Díaz ha escrito un espejo maravilloso para Twitter Widget usando jQuery
$.fn.mirror = function (selector) {
return this.each(function() {
var $this = $(this);
var $selector = $(selector);
$this.bind('keyup', function() {
$selector.val(($this.val()));
});
});
};
Se usa como
$('#source_text_id').mirror('#destination_text_id');
simple: http://jsfiddle.net/brynner/KnXJc/
HTML
<input type="text" class="mirror" placeholder="one">
<input type="text" class="mirror" placeholder="two">
jQuery
$('.mirror').on('keyup', function() {
$('.'+$(this).attr('class')).val($(this).val());
});
¿Cómo puedo hacer que funcione sobre iframe? –
$(document).ready(function() {
console.log("ready!");
/* $(".checking").blur(function() {
alert("Handler for .blur() called.");
}); */
$(".formula_open").click(function(){
getval();
function getval(){
var schedulenameexpression= $('.idfield1').val();
var res = schedulenameexpression.split(/[\s()+*-/]+/);
var i,text,substri,newitem;
for (i = 0; i < res.length; i++) {
text = res[i];
substri = text.substr(6);
var name ="schid_"+substri;
var schname = $('#'+substri).val();
console.log(schname);
schedulenameexpression = schedulenameexpression.replace("schid_"+substri, $("#"+substri).val());
}
$('.idfield2').val(schedulenameexpression);
}
$('.idfield1').bind('keypress keyup blur propertychange', function() {
getval();
});
});
});
Probablemente también desee actualizar el desenfoque para capturar eventos de cortar/pegar. – tvanfosson
@tvanfosson: Tienes razón. Primero pensé en el desenfoque, pero luego tuve la palabra "espejo" en mi mente y pensé que realmente debería ser sincrónica ... arreglada. –
Sucede algo extraño. parece que el espejo tiene un personaje detrás. Por ejemplo, si escribo "hola persona", en el otro cuadro se lee "hola persona". ¿algunas ideas? – atwellpub