请检查JSFIDDLE ,警报中的 rel 属性显示为“未定义”:
var ItemTypeArray = $('input[name^=ItemType]:checked').map(function(){
alert(this.id + ' , r= ' + this.rel);
return this.rel + '--' + this.value;
}).get().join(",");
此外,这个函数给出一个字符串,但我需要构造一个数组来发布它。
最佳答案
input
上没有名为 rel
的属性(但是 link
标记上有)。您确实应该使用 data
属性来代替:
<input id="SOLD[1]" value="1" name="ItemType[1]" type="radio" data-rel="1">
<input id="PURCHASED[1]" value="2" name="ItemType[1]" type="radio" checked="checked" data-rel="1">
然后你可以这样做:
var ItemTypeArray = $('input[name^=ItemType]:checked').map(function () {
alert(this.id + ' , r= ' + $(this).data("rel"));
return $(this).data("rel") + '--' + this.value;
}).get().join(",");
或者要返回您在评论中所说的内容(一个数组),您可以这样做:
var ItemTypeArray = [];
$('input[name^=ItemType]:checked').each(function () {
ItemTypeArray.push(this.id + ' = ' + $(this).data("rel"));
});
参见HERE
关于javascript - 使用此关键字 javascript 访问 rel 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18955507/