javascript - jQuery 从选定行中选择所有数据

标签 javascript jquery html css

我有一张 table 。我想从所有选定的行中获取姓名、姓氏和电子邮件(已设置检查)。也许姓名、姓氏、电子邮件将是数组。 我该怎么做? 我试过这个:

var tableControl= document.getElementById('mytable');
$("#btn").click(function () {
    var result = [];
    $('input:checkbox:checked', tableControl).each(function() {
        result.push($(this).parent().next().text());
    });
    alert(result);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="mytable" cellpadding="1" border="2">
<thead>
<tr>
    <td>Check</td>
    <td>Name</td>
    <td>Lastname</td>
    <td>Country</td>
    <td>Email</td>
</tr>
</thead>
<tr>
    <td><input id="check_1" type="checkbox" name="check[]"></td>
    <td id="name_1">Petya</td>
    <td id="last_1">L1</td>
    <td id="country_1">Country1</td>
    <td id="email_1">Email1</td>
</tr>

<tr>
    <td><input id="check_2" type="checkbox" name="check[]"></td>
    <td id="name_2">Kolya</td>
    <td id="last_2">L2</td>
    <td id="country_2">Country2</td>
    <td id="email_2">Email2</td>
</tr>
<tr>
    <td><input id="check_3" type="checkbox" name="check[]"></td>
    <td id="name_3">Vasya</td>
    <td id="last_3">L3</td>
    <td id="country_3">Country3</td>
    <td id="email_3">Email3</td>
</tr>

但我只得到选定的名称。如何获取其他列?

最佳答案

这是一种可能的处理方式。我为每种类型的列设置了一个类。您可以使用它来找出选中行的所有其他信息。

观察控制台。您在一个对象中获得所有信息,然后您可以将其用于您可能希望它执行的任何其他功能

var tableControl= document.getElementById('mytable');
    $("#btn").click(function () {
        var result = [];
        $('input:checkbox:checked', tableControl).each(function() {
            var obj={};
            var parent=$(this).parent().parent();
            obj.name=(parent.find( ".name" ).text());
            obj.last=(parent.find( ".last" ).text());
            obj.country=(parent.find( ".country" ).text());
            obj.email=(parent.find( ".email" ).text());
            result.push(obj);
        });
        console.log(result);
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id="mytable" cellpadding="1" border="2">
<thead>
<tr>
    <td>Check</td>
    <td>Name</td>
    <td>Lastname</td>
    <td>Country</td>
    <td>Email</td>
</tr>
</thead>
<tr>
    <td><input id="check_1" type="checkbox" name="check[]"></td>
    <td class="name" id="name_1">Petya</td>
    <td class="last" id="last_1">L1</td>
    <td class="country" id="country_1">Country1</td>
    <td class="email" id="email_1">Email1</td>
</tr>

<tr>
    <td><input id="check_2" type="checkbox" name="check[]"></td>
    <td class="name" id="name_2">Kolya</td>
    <td class="last" id="last_2">L2</td>
    <td class="country" id="country_2">Country2</td>
    <td class="email" id="email_2">Email2</td>
</tr>
<tr>
    <td><input id="check_3" type="checkbox" name="check[]"></td>
    <td class="name" id="name_3">Vasya</td>
    <td class="last" id="last_3">L3</td>
    <td class="country" id="country_3">Country3</td>
    <td class="email" id="email_3">Email3</td>
</tr>
<button id="btn">Click</button>

关于javascript - jQuery 从选定行中选择所有数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477519/

相关文章:

javascript - 如何使用 jquery 永久添加元素,然后它会逐渐添加数字,例如 Cam 1、Cam 2、Cam 3 等。使用 iframe

javascript - 将数据从 html 引导到 webpack 捆绑的 javascript

jquery 如何防止 transitionend 事件被调用两次

javascript - 在鼠标悬停时启动 GIF,否则暂停?

javascript - 我怎样才能使背景图像适应主分区?

javascript - 未捕获的 TypeError : _moment2. default.date 不是 React 应用程序中的函数

javascript - 使用 testCafe 'requestLogger' 检索 chrome 性能日志失败

javascript - 使用 Javascript 将文本居中并使用 css3 viewport 调整大小在调整大小时会很不稳定

javascript - 如果文本框有文本,jquery 隐藏复选框

html - CSS 下拉菜单 - 超时