Javascript 从for循环中具有相同名称的表中读取文本值
我正在创建在线购物车。因为我是通过spring/hibernate中的jquery/json GET获取值的,所以它运行起来没有任何问题。我在js类中添加它们时有一些错误,现在我只想通过名称读取每行的文本框值 例如: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. 如果结果可
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();