Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 遍历表并在每个tablerow jQuery中获取一个按钮的值_Javascript_Jquery_Html Table - Fatal编程技术网

Javascript 遍历表并在每个tablerow jQuery中获取一个按钮的值

Javascript 遍历表并在每个tablerow jQuery中获取一个按钮的值,javascript,jquery,html-table,Javascript,Jquery,Html Table,我在表格中有动态创建的按钮。我想遍历一个表,获取包含复选框的tablerows,并获取tablerow中按钮的值。我想在之后推送数组中的值。按钮没有唯一的ID,因此我无法通过ID获取其值。 我试图通过给按钮一个类来获取值,itering工作得很好,但是数组中充满了空条目 $("#bt_multiple_deletion").off().on("click", function () { var files = []; var rows = $(".select").find("i

我在表格中有动态创建的按钮。我想遍历一个表,获取包含复选框的tablerows,并获取tablerow中按钮的值。我想在之后推送数组中的值。按钮没有唯一的ID,因此我无法通过ID获取其值。 我试图通过给按钮一个类来获取值,itering工作得很好,但是数组中充满了空条目

$("#bt_multiple_deletion").off().on("click", function () {
    var files = [];
    var rows = $(".select").find("input[type=checkbox]:checked");

    rows.each(function () {
        files.push($(this).find(".filefolder-button").text());
    });
})
我真的不知道我做错了什么。我尝试使用
.text()
.val()
等获取值

我的表格行如下所示:

<tr class="select">
   <td>
       <span class="countEntries"><input id="lv_fifo_ctrl7_cb_delete_file" type="checkbox" name="lv_fifo$ctrl7$cb_delete_file" /></span>
   </td>
   <td>
       <img src="images/icons/013_document_02_rgb.png" alt="document" />
   </td>
   <td class="name">//the button i want to get the value from
       <input type="submit" name="lv_fifo$ctrl7$bt_file" value="013_document_png.zip" id="lv_fifo_ctrl7_bt_file" class="filefolder-button download file del" style="vertical-align: central" />
   </td>
   <td>
       <span id="lv_fifo_ctrl7_lb_length">33.14 KB</span>
   </td>
   <td>
       <span id="lv_fifo_ctrl7_lb_CreationTime">21.10.2014 07:34:46</span>
   </td>
   <td></td>
   <td>
       <input type="submit" name="lv_fifo$ctrl7$bt_del_file" value="delete" id="lv_fifo_ctrl7_bt_del_file" class="delete-button delete-file" />
   </td>
</tr>

//我想从中获取值的按钮
33.14 KB
21.10.2014 07:34:46

问题在于
输入
元素,而不是
tr
元素,因此在循环中,您需要找到包含
输入的
tr
,然后找到其中的目标元素

$("#bt_multiple_deletion").off().on("click", function () {
    var checked = $(".select").find("input[type=checkbox]:checked");

    var files = checked.map(function () {
        return $(this).closest('tr').find(".filefolder-button").val();
    }).get();
})

另一个选择是

$("#bt_multiple_deletion").off().on("click", function () {
    var rows = $(".select").find("tr").has('input[type=checkbox]:checked');
    //var rows = $(".select").find('input[type=checkbox]:checked').closest('tr');

    var files = rows.map(function () {
        return $(this).find(".filefolder-button").val();
    }).get();
})

@Timo Jokinen你需要这个吗

$(“#bt#u多次删除”)。在(“单击”,函数(){
var文件=[];
变量行=$(“.select”).find(“输入[类型=复选框]:选中”);
行。每个(函数(){
file.push($(this.parents(“tr”).find(“td.filefolder按钮”).text());
});
console.log(文件);
})

测试1
测试2
测试3

删除
非常感谢!我在那里看到了我的错误,但不知何故它仍然不起作用。数组中仍然充满了空条目。当我提醒“files”数组时,我会得到类似“,,,,,,,,,,,,,,,,,,,,,,@TimoJokinen你能分享html样本吗?我编辑了我的问题并添加了我的表格行样本。文件有行,目录有行,但结构相同。@TimoJokinen您需要使用
.val()
而不是
.text()
,因为int是一个输入元素。谢谢您的回答。我想你误会我了。我正在为我的公司编写一个文件浏览器,每个tablerow都是一个条目,代表一个文件或一个目录。我有一个带有文件名/目录名的按钮,一个复选框和一些用于删除、重命名等的其他按钮。我尝试了您的代码片段,但仍然面临数组中充满空条目的问题。非常感谢您的努力,问题已解决。:)