我的 x 表格的编号都与班级productForm
一致。
这些表单中的每一个都有一个隐藏的输入标记,其中包含产品名称的值:
<input type='hidden' name='prodName' value='Product Name' />
我使用jquery来捕获表单提交事件。如何访问每个表单的prodName属性的值。我试过了:
$('.productForm input[name=thing]').val();
工作正常。如何访问每个表单对象的属性?
**编辑**
我应该澄清一下,获取每种形式的细节都不是问题,我需要的是从提交的特定表格中获取产品的价值。基本上我正在寻找一种方法来创建表示提交的特定表单的jquery对象。我遇到的问题是我现在捕捉事件的方式:
$('.productForm').submit(function(){...});
仅捕获页面上第一个表单的详细信息,无论实际提交的是哪个表单。我想要的是$(this)
在函数内部来表示特定的形式。
答案 0 :(得分:3)
使用:
$('.productForm input[name=thing]').each(function()
{
$(this).val();
});
答案 1 :(得分:2)
试试这个:
$('.productForm input[name=thing]').each(function(){
var val = $(this).val();
})
答案 2 :(得分:1)
表格提交......
$(".productForm").submit(function(){
//Form is submitted, handle it here...
var productName = $("input[name='prodName']", this).val();
//Do 'return false' if you want to stop form submission
});
或循环遍历每个表单......
$(".productForm").each(function(){
//Loops through forms and sticks the product name in productName
var productName = $("input[name='prodName']", this).val();
});
或者,遍历每个表单并列出产品名称......
var productNames = [];
$(".productForm").each(function(){
//Loops through forms and sticks the product name in productName
productNames.push( $("input[name='prodName']", this).val() );
});
//Now you have productNames which is now ["Apples", "Grapes", ...]
答案 3 :(得分:1)
您可以使用map()功能快速将值映射到数组
var products = $.map($(".productForm input[name='thing']"), function(n){
return $(n).val();
});