2016-03-03 102 views
2

如何选择数据()值作为所有选定输入的数组?下面显示了我的非工作尝试。如果第一个和最后一个输入被检查,我想data["extra1","extra3"]选择数据()值作为所有选定输入的数组

https://jsfiddle.net/4mmm6azt/

$('#go').click(function() { 
    var data = $('#mytable tbody input:checked').data('extra').serializeArray(); 
    console.log('data', data); 
}); 

<table id='mytable'> 
    <tbody> 
    <tr><td><input type="checkbox" value="1" data-extra="extra1" name="id[]"></td></tr> 
    <tr><td><input type="checkbox" value="2" data-extra="extra2" name="id[]"></td></tr> 
    <tr><td><input type="checkbox" value="3" data-extra="extra3" name="id[]"></td></tr> 
    </tbody> 
</table> 

回答

4

尝试这种情况下使用jQuery.map()

$('#go').click(function() { 
    var data = $('#mytable tbody input:checked').map(function(){ 
    return $(this).data("extra"); 
    }).get(); 
    console.log('data', data); 
}); 
+1

完美。我从来没有使用过'map()'。有关工作示例,请参阅https://jsfiddle.net/4mmm6azt/1/。 – user1032531

+0

@ user1032531很高兴帮助! :) –