如何使用jQuery从两个相同的表单中获取不同的值

如何使用jQuery从两个相同的表单中获取不同的值,jquery,forms,Jquery,Forms,我有两个相同的表单,我试图在单击按钮后从表单中获取值 “问题”,我只得到值​​从第一种形式开始 $'.form button.button'.clickfunction{ var val1=$'。表单输入。输入:eq0'.val; var val2=$'。表单输入。输入:eq1'.val; var varData='val1='+val1+'&val2='+val2; alertvarData }; 好的 好的 你可以用这样的方法来实现你想要的: var val1 =

我有两个相同的表单,我试图在单击按钮后从表单中获取值

“问题”,我只得到值​​从第一种形式开始

$'.form button.button'.clickfunction{ var val1=$'。表单输入。输入:eq0'.val; var val2=$'。表单输入。输入:eq1'.val; var varData='val1='+val1+'&val2='+val2; alertvarData };

好的

好的


你可以用这样的方法来实现你想要的:

var val1 = $(this).closest(".form").find(".Input:eq(0)").val();
var val2 = $(this).closest(".form").find(".Input:eq(1)").val();
问题是,此$'.form input.input:eq0'将始终查找第一个输入,而不是与.form相关的第一个输入

演示

$'.form button.button'.clickfunction{ var val1=$this.closest.form.find.Input:eq0.val; var val2=$this.closest.form.find.Input:eq1.val; var varData='val1='+val1+'&val2='+val2; alertvarData };

好的

好的


因为您有两个不同的div标记,它们具有相同的类名形式 当需要相同的输入时,不建议使用类选择器

PS:您没有使用表单标记来获取表单值,如果您这样做,将会非常不同:

请看下面的代码片段

$'.form1 button.button'.clickfunction{ var val1=$”.form1 input.input:eq0.val; var val2=$”.form1 input.input:eq1.val; var varData='val1='+val1+'&val2='+val2; alertvarData }; $'.form2 button.button'.clickfunction{ var val1=$”.form2输入。输入:eq0.val; var val2=$”.form2 input.input:eq1.val; var varData='val1='+val1+'&val2='+val2; alertvarData };

好的

好的


为什么不给每个输入一个唯一的id,并在jquery中使用该id呢?