首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery获取类内的类值

JQuery获取类内的类值
EN

Stack Overflow用户
提问于 2015-11-25 11:53:50
回答 2查看 27关注 0票数 0

我有以下html:

代码语言:javascript
运行
复制
<tr class="row">
    <td>row 1</td>
    <td><input type="text" class="user-input"></td>
    <td><input type="text" class="user-input"></td>
</tr>

<tr class="row">
    <td>row 2</td>
    <td><input type="text" class="user-input"></td>
    <td><input type="text" class="user-input"></td>
</tr>

假设表单获得了以下输入

row1 |a|b

row2 |c|d

我想从表中获取以下对象:

代码语言:javascript
运行
复制
[{a,b}, {c,d}]

我尝试使用.each来获取这些值

代码语言:javascript
运行
复制
$(".row .user-input").each( function() {
    ...
});

然而,我只能使用上面的行得到a,b,c,d。我想知道是否有一种方法可以使用像嵌套的each这样的东西来达到这个目的。

谢谢你的帮助!

EN

回答 2

Stack Overflow用户

发布于 2015-11-25 11:58:26

我认为您需要的是一个数组数组,然后您可以迭代每一行,然后迭代该行中的每一个输入,如下所示

代码语言:javascript
运行
复制
var values = $('.row').map(function() {
  return [$(this).find('.user-input').map(function() {
    return $(this).val();
  }).get()];
}).get();

$('pre').html(JSON.stringify(values));
代码语言:javascript
运行
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr class="row">
    <td>row 1</td>
    <td>
      <input type="text" class="user-input" value="a">
    </td>
    <td>
      <input type="text" class="user-input" value="b">
    </td>
  </tr>

  <tr class="row">
    <td>row 2</td>
    <td>
      <input type="text" class="user-input" value="c">
    </td>
    <td>
      <input type="text" class="user-input" value="d">
    </td>
  </tr>
</table>

<pre></pre>

票数 1
EN

Stack Overflow用户

发布于 2015-11-25 12:40:12

代码语言:javascript
运行
复制
  arr = [];
  $('.row').each(function(o) {
    var inner = [];
    $('.user-input', this).each(function(e) {
      inner.push($(this).val());
    });
    arr.push(inner);
  });

-

代码语言:javascript
运行
复制
<table>
  <tr class="row">
   <td>row 1</td>
   <td>
     <input type="text" class="user-input" value="a">
   </td>
   <td>
     <input type="text" class="user-input" value="b">
   </td>
 </tr>

 <tr class="row">
   <td>row 2</td>
   <td>
     <input type="text" class="user-input" value="c">
   </td>
   <td>
    <input type="text" class="user-input" value="d">
   </td>
 </tr>

</table>

请在这里输入:http://codepen.io/anon/pen/OyYdpq

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33908219

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档