Javascript 从for循环中具有相同名称的表中读取文本值

Javascript 从for循环中具有相同名称的表中读取文本值,javascript,jquery,Javascript,Jquery,我正在创建在线购物车。因为我是通过spring/hibernate中的jquery/json GET获取值的,所以它运行起来没有任何问题。我在js类中添加它们时有一些错误,现在我只想通过名称读取每行的文本框值 例如: var-product=$('[name=“product”]').val(); var vendor=$('[name=“vendor”]')。val() 产品 细节 小贩 量 Xperia M Dual 样品 卖方名称 X 老鼠 有效的 公司或供应商名称 X 1. 如果结果可

我正在创建在线购物车。因为我是通过spring/hibernate中的jquery/json GET获取值的,所以它运行起来没有任何问题。我在js类中添加它们时有一些错误,现在我只想通过名称读取每行的文本框值

例如:

var-product=$('[name=“product”]').val();
var vendor=$('[name=“vendor”]')。val()


产品
细节
小贩
量
Xperia M Dual
样品
卖方名称
X
老鼠
有效的
公司或供应商名称
X
1.
如果结果可用,请使用上下箭头键进行导航。
X
我试着这样做,但没有成功:

for(i=0; i< $('[name="product"]').length; i++){
    var product = $(this).find('[name="product"]').val();
    alert(product);
}
for(i=0;i<$('[name=“product”]')。长度;i++){
var product=$(this.find('[name=“product”]').val();
警报(产品);
}
您可以使用此方法:

var product = $('[name="product"]').eq(i).val();
alert(product);
但我建议你们使用这个方法


更新:

如果您还想阅读这些内容,您可以修改
每个
以接受
索引

$( '[name="product"]' ).each( function( index ) {
  var product = $( this ).val();
  var vendor = $( '[name="product"]' ).eq( index ).val();
  console.log( product );
  console.log( vendor );
});

请注意,HTML无效(以各种方式):表格单元格元素没有
name
value
属性。如果要在属性中放置任意信息,请改用
data-*
attributes。(您还在多个元素上使用相同的
id
id
在页面上必须是唯一的。)

因此,有两个问题:

  • 您正在使用
    find
    查看元素内部,但实际上您希望从已经查看的元素中获取信息

  • 您使用的是
    val
    ,但所涉及的元素不是表单字段。它可能会起作用,但如果是这样的话,它是没有文件的

  • 简单可靠的方法是使用和:

    若您不想发出警报,而是想要一个值数组,并且:


    但是,同样,如果您想启用任意属性,您需要使用
    数据名称
    数据值

    这看起来不错,但如果我使用每个属性,我必须在同一行中读取供应商名称。是的,这很有效。我刚用了你的更新代码谢谢。。。回答接受拒绝1分钟很抱歉谢谢你,先生,我刚刚执行了安提拉特的代码,工作正常。你的代码看起来也一样,谢谢分享你的代码time@Venkat:在非表单字段的元素上使用
    val
    ,就像在另一个答案中一样,是一个坏主意;根本不能保证它在跨浏览器时能正常工作。
    $( '[name="product"]' ).each( function() {
      var product = $( this ).val();
      console.log( product );
    });
    
    $( '[name="product"]' ).each( function( index ) {
      var product = $( this ).val();
      var vendor = $( '[name="product"]' ).eq( index ).val();
      console.log( product );
      console.log( vendor );
    });
    
    $('[name="product"]').each(function() {
        alert($(this).attr("value"));
    });
    
    var values = $('[name="product"]').map(function() {
        return $(this).attr("value");
    }).get();