为两个文本框编写一组jQuery代码

为两个文本框编写一组jQuery代码,jquery,Jquery,所以我有两个文本框,我想以同样的方式操作。 这是代码,它告诉文本框根据输入的文本调整其宽度: $("#text1").keyup(function(){ var myLength = $("#text1").val().length; var widthNum = ((myLength+0.25)*30); if (myLength == 0) { $("#text1").animate({ width: 65 }, 'fast'); }

所以我有两个文本框,我想以同样的方式操作。 这是代码,它告诉文本框根据输入的文本调整其宽度:

$("#text1").keyup(function(){  
    var myLength = $("#text1").val().length;
    var widthNum = ((myLength+0.25)*30);
    if (myLength == 0) {
        $("#text1").animate({ width: 65 }, 'fast');
    }
    else {
        $("#text1").animate({ width: widthNum }, 'fast');
    }
});
我希望$text2具有相同的属性和相同的代码行。换句话说,我不想再写10行左右。有没有办法在同一组代码中包含两个文本框

谢谢

将两个输入元素赋予相同的类,然后您可以按该类选择它们。在事件处理程序中,可以使用this关键字引用引发事件的元素。试试这个:

$(".text").keyup(function(){  
    var widthNum = ($(this).val().length + 0.25) * 30;
    $(this).animate({ width: myLength == 0 ? 65 : widthNum }, 'fast');
});
将两个输入元素赋予相同的类,然后可以按该类选择它们。在事件处理程序中,可以使用this关键字引用引发事件的元素。试试这个:

$(".text").keyup(function(){  
    var widthNum = ($(this).val().length + 0.25) * 30;
    $(this).animate({ width: myLength == 0 ? 65 : widthNum }, 'fast');
});

给它们一个唯一的类名,比如.my special textbox,而不是$'text1',使用$.my special textboxs',只要它们有这个类名,这将适用于任意数量的文本框

$'.my special TextBox'.keyup函数{ var myLength=$this.val.length; var widthNum=myLength+0.25*30; 如果myLength==0{ $this.animate{width:65},“fast'; }否则{ $this.animate{width:widthNum},'fast'; }
}; 给它们一个唯一的类名,比如.my special textbox,而不是$'text1',使用$.my special textboxs',只要它们有这个类名,这将适用于任意数量的文本框

$'.my special TextBox'.keyup函数{ var myLength=$this.val.length; var widthNum=myLength+0.25*30; 如果myLength==0{ $this.animate{width:65},“fast'; }否则{ $this.animate{width:widthNum},'fast'; }
}; 您可以通过两个文本框的ID来引用它们,并使用该ID使代码引用与之交互的一个文本框:

$("#text1, #text2").keyup(function(){  
    var myLength = $(this).val().length;
    var widthNum = ((myLength+0.25)*30);
    if (myLength == 0) {
        $(this).animate({ width: 65 }, 'fast');
    }
    else {
        $(this).animate({ width: widthNum }, 'fast');
    }
});

您可以通过两个文本框的ID来引用它们,并使用该ID使代码引用与之交互的一个文本框:

$("#text1, #text2").keyup(function(){  
    var myLength = $(this).val().length;
    var widthNum = ((myLength+0.25)*30);
    if (myLength == 0) {
        $(this).animate({ width: 65 }, 'fast');
    }
    else {
        $(this).animate({ width: widthNum }, 'fast');
    }
});
奖励:你也可以使用

$(e) // instead of $("#text1") or $("#text2") to get the calling DOM element
奖励:你也可以使用

$(e) // instead of $("#text1") or $("#text2") to get the calling DOM element

不要使用ID来标识dom元素,除非它们是唯一的;ID必须是唯一的;不要使用ID来标识dom元素,除非它们是唯一的;ID必须是唯一的!谢谢,伙计。我会在8分钟内给你答案。这对你们来说可能是显而易见的,但感谢你们帮助了一位没有经验的程序员:没问题,很高兴能帮助你们。啊哈!谢谢,伙计。我会在8分钟内给你答案。这对你来说可能是显而易见的,但感谢你帮助了一位没有经验的程序员:没问题,很乐意帮助。他不知道怎么做的部分就是你用//代码隐藏在这里。我在打电话。。。笔记本电脑在修理店他不知道怎么做的部分是你藏在这里的//代码。我在打电话。。。笔记本电脑在修理店