我在网页中动态生成了行,如下所示(通过数据视图webpart / sharepoint)
我在所有TR元素中都有一个单选按钮,其中CLASS = ROWSALL。
我需要遍历直到ID不等于group1
因此,点击突出显示的行中的RADIO按钮,我需要计算在此行可用之前有多少行,直到ID = GROUP1(在这种情况下为3)
我可以通过使用this.CLOSEST('。rowsALL')来到单选按钮TR,但是如何遍历这三个TR元素? (三个不是固定数,TR与ID group1之间可以有任意数量的TR)
请帮忙。
编辑:我知道我们不应该有相同的ID,但这是由sharepoint dataview webpart自动生成的,我们没有控制权。我应该尝试一些建议并更新答案。
答案 0 :(得分:1)
您可以尝试类似
的内容$('input[type="radio"]').on('change', function() {
var $parent = $(this).parents('tr').eq(0),
$siblings = $parent.prevUntil('tr#group1');
// or $siblings = $parent.siblings('.rowsAll:visible');
console.log($siblings.length);
});
答案 1 :(得分:0)
不应对不同的元素使用相同的id。相反,你应该使用类。 由于您的收音机在tr内,您必须使用专利然后使用prev直到找到group1类的tr看这个
答案 2 :(得分:0)
首先,我建议您通过对元素使用唯一的类名来使用不同的方法,因为您多次使用id。
首先得到号码。当元素的id为'group1'时,将行数减1,然后在.each函数中包含此代码。你会得到号码。行直到id'group1'