Я хочу, чтобы одно текстовое поле автопопулялось с тем, что в него вложено другое текстовое поле.
Как мне это сделать?
Спасибо! Хадсон
Я хочу, чтобы одно текстовое поле автопопулялось с тем, что в него вложено другое текстовое поле.
Как мне это сделать?
Спасибо! Хадсон
Короче и просто:
$('#idfield1').keypress(function() {
$('#idfield2').val($(this).val());
});
или связать его с несколькими событиями, чтобы обновить его, если он потеряет фокус:
$('#idfield1').bind('keypress keyup blur', function() {
$('#idfield2').val($(this).val());
});
Ссылка: .keypress()
, .val()
, .blur()
, .bind()
Update:
Из-за таинственных причин, когда набирается символ first, он не задан в другом поле ввода. У кого-нибудь есть идея?;)
Он работает, хотя используя keyup
(keydown
также производит тот же странный результат).
Для альтернативы:
$('#idfield1').bind('keyup keypress blur', function()
{
$('#idfield2')[0].value = $(this)[0].value;
});
или
$('#idfield1').bind('keyup keypress blur', function()
{
$('#idfield2').val($(this).val());
});
Для более новой версии jQuery вы также можете использовать .on
$('#idfield1').on('keyup keypress blur', function()
{
$('#idfield2').val($(this).val());
});
Дастин Диаз написал замечательное зеркало для виджета Twitter, используя jQuery
$.fn.mirror = function (selector) {
return this.each(function () {
var $this = $(this);
var $selector = $(selector);
$this.bind('keyup', function () {
$selector.val(($this.val()));
});
});
};
Используйте его как
$('#source_text_id').mirror('#destination_text_id');
Простой: 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());
});
$( 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();
});
});
});