如何同步两个文本框的表单值?
大家好我是jQuery的新手。 假设我有两个HTML文本框。 如果我在文本框A中写入,那么相同的值将转到文本框B,如果我在B中写入,那么它将转到A,与删除文本相同。 怎么能在jQuery中完成?
这是一种更动态的方式:
和代码:
$(document).ready(function(){ $(".copyMe").keyup(function(){ $(".copyMe").val($(this).val()); }); });
概念certificate: http : //jsfiddle.net/MQXCt/
这很简单:
$("#textBoxA").keyup(function(){ $("#textBoxB").val($("#textBoxA").val()); }); $("#textBoxB").keyup(function(){ $("#textBoxA").val($("#textBoxB").val()); });
比最热烈的答案更有效的方式是:
var $inputs = $(".copyMe"); $inputs.keyup(function () { $inputs.val($(this).val()); });
http://css-tricks.com/snippets/jquery/keep-text-inputs-in-sync/
你必须在每个文本框的onchange
事件上放置一个函数调用,它将获取一个框的值并将其放在另一个框中。
我今天遇到了这个挑战。 我制作了一个小插件,使代码更具可读性并处理文本输入,但也选择了fe。
当你包含插件时,你可以简单地使用$("selector").keepInSync($("otherselector"));
$.fn.keepInSync = function($targets) { // join together all the elements you want to keep in sync var $els = $targets.add(this); $els.on("keyup change", function() { var $this = $(this); // exclude the current element since it already has the value $els.not($this).val($this.val()); }); return this; }; //use it like this $("#month1").keepInSync($("#month2, #month3")); $("#text1").keepInSync($("#text2"));
Two way sync
使用Snicksie的方法,您可以在下面看到现场演示。 我还包含一个按钮来重置文本框值。