2011-04-26 37 views
0

我有一个带有少量标签的html。在所有选项卡中都有一个输入类型=文本。如果我在tab1的输入中输入了某些内容,那么如何将它输入到其他选项卡中的其余输入?jQuery:将标签中的输入文本携带到另一个标签

当你问一个问题,你会在下面看到一个预览框,但是相反,这也是一个输入。

如果输入ID是input1,input2和input3是否有人可以让我看到一个快捷方式?

非常感谢

回答

2

我会用一个类上的投入

$('.group_input1').change(function(){ 
    $('.group_input1').val(this.value); 
}); 
+1

这是一个很好的解决方案,但您应该使用'this.value'而不是'$(this).val()'。同样的结果,但它直接访问DOM而不是通过jQuery。从小规模来看,它并没有太大的区别,但这是对jQuery赋予我们的权力的滥用。在一个更小的笔记,你忘了密切paren和分号:) – Ender 2011-04-26 18:48:51

+0

@恩德谢谢你的提示 – mcgrailm 2011-04-26 18:51:51

2
$('#input1').blur(function() { $('#input2,#input3').val(this.value); }); 

这里的工作演示:http://jsfiddle.net/Ender/C5L7W/

我选择模糊的更新事件,因为切换标签(如源文本框会失去焦点)时,必须发生此事件,与使用诸如keyup,keydown或keypress之类的东西相比,它涉及对其他输入的最少更新。

+0

更为精简的代码! – 2011-04-26 18:20:04

+0

@Tim--来自大量练习,采取快捷方式:) – Ender 2011-04-26 18:22:15

+0

谢谢。这似乎工作,但如果第一个盒子是input2呢?我的意思是首先用户在输入2中键入一些东西?我必须为input2做同样的事吗?我正在谈论20个不同的输入/标签。非常感谢 – jQuerybeast 2011-04-26 18:37:55

0
$('#input1').blur(function(){ 
    if ($('#input1').val() != '')} 
     $('#input2').val($('#input1').val()); 
     $('#input3').val($('#input1').val()); 
    } 
}); 

类似的东西应该工作...但你可能要检查,如果在标签2输入第一个充满..如果是这样那么我们就可以返工此代码的情况。

相关问题