2011-10-06 177 views
1

我有一个表,一个相当简单的结构,每一行的格式如下所示:jQuery的地图细胞表

<tr> 
    <td>some text</td> 
    <td><input value="somevalue"></td> 
    <td><input value="somevalue"></td> 
    <td><input value="somevalue"></td> 
    <td> 
     <select> 
      <option>some option</option> 
      <option>some option</option> 
      <option>some option</option> 
     </select> 
    </td> 
</tr> 

我想找到一个办法让每个输入和选择的值的值选择并将它们放入数组中。什么是获得这些信息的正确方法?我试过

$('td').each(function(){ 
    $(this).find('input').val();//Only returns the first input value 
} 

任何帮助将不胜感激。

回答

2

您可以使用适当命名的map()方法从一个叫每个元素函数的结果建立数组:

$("tr").each(function() { 
    var rowValues = $("input, select", this).map(function() { 
     return $(this).val(); 
    }).get(); 

    // Do something with `rowValues`... 
}); 
+0

非常感谢你的帮助。我已经阅读了jQuery网站上的.map函数,我总是感到沮丧,人们似乎无法举出没有绒毛的例子。它就像他们显示.map函数结合其他10个(和恕我直言完全不必要的)函数,你有可能会迷失在哪个部分正在做什么。所以我无法弄清楚我所看到的。所以再次感谢简单但非常有帮助的回应:) – DvideBy0