SharePoint - используйте JavaScript, чтобы получить элементы списка после применения фильтра
Предположим, у меня есть список с именем "test", и у него есть 5 элементов списка (скажем, a, b, c, d, e). Теперь, когда я применяю фильтр вручную к элементам списка для определенного поля. Теперь результат - 3 элемента списка.
Теперь я хочу прочитать поля этих 3 элементов списка с помощью JavaScript и выполнить вычисления на нем.
Мне нужно получить доступ к полям в настоящее время отображается (после применения фильтра вручную)
Я не хочу фильтровать это в Javascript. Но я хочу отфильтровать некоторые поля вручную, а затем я хочу прочитать отображаемый результат. Кто-нибудь может помочь?
1 ответ
Следующий jQuery получит все значения для столбца для отображаемых строк. Это работает в SharePoint 2010. Я оставил код очень подробным и с отладочными операторами, чтобы его было легче понять. Помните, что этот код не будет работать в IE с закрытой консолью, пока вы не удалите console.log
а также debugger
линий.
$(document).ready(function() {
var columnHeading = "Title";
var anchor = $("a").filter(function() {
return $(this).text() === columnHeading; //find the link that matches the text in the columnHeading variable
});
var th = anchor.closest("th"); //Get the parent table header
var columnIndex = th.index(); //Get the index of the table header in the row for use on other rows
var table = th.closest("table");
var i;
debugger;
table.find("tbody").first().find("tr").not(":first").each(function() { //Loop over every row in the table EXCEPT the first row because its the table header
i = $(this).find("td").eq(columnIndex); //find the td element at the index we determined earlier
console.log($(i).text()); //get the text in the td. You may need to parseInt before any mathematical formulas.
});
});
Если вам нужно что-то разъяснить, пожалуйста, дайте мне знать.