循环遍历html表并获取已选中复选框的名称(JQuery)

时间:2016-10-04 14:30:44

标签: jquery

我有一个HTML表格,每行都有一个复选框。

我想遍历表格,看看是否有任何复选框已经过检查。 以下不起作用:

$(document).on("click", "#Button2", function(event)
{
        $('#mytable').find('input[type="checkbox"]:checked').each(function()
        {
                console.log($(this).text());
        });
});

https://jsfiddle.net/dHZS9/696/

在上面的小提琴中最初选择一些复选框(例如A,B,H)

单击按钮如何获取选中复选框的名称(例如,对于示例A,B,H)

2 个答案:

答案 0 :(得分:1)

这些文字不属于您循环的input元素,而属于其父元素(标签),因此请将console.log替换为:

console.log($(this).parent().text());

或者,您可以更改选择器并选择具有已选中复选框的标签作为子项:

$('#mytable').find('label:has(input[type="checkbox"]:checked)').each(function() {
    console.log($(this).text());
});

答案 1 :(得分:0)

The text is not within the input check, for that reason the $(this).text() does not work.

You need to go to your parent of your checkout input in this case to your label tag and now execute the .text() function to get the text.

Change your line like this:

console.log($(this).parent().text());

Regards!