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.
    });
});

Если вам нужно что-то разъяснить, пожалуйста, дайте мне знать.

Другие вопросы по тегам