使用JavaScript从SharePoint组合和排序两个数据集合
Combining and sorting two collections of data from SharePoint using JavaScript
我刚开始写javascript,我想打印出列表中的项目以及按字母顺序排列的子网站。如何按字母顺序打印合并后的输出?当前的输出是按ABC顺序显示列表项,然后按ABC顺序显示子网站。
$(document).ready(function() {
GetItems();
});
function GetItems() {
$().SPServices({
operation: "GetListItems",
async: true,
listName: "GatheredSites",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
CAMLQuery: "<Query><OrderBy><FieldRef Name='Title' Ascending='True' /></OrderBy></Query>",
completefunc: function(xData, Status) {
if (Status == 'success') {
$(xData.responseXML).SPFilterNode("z:row").each(function() {
var name = ($(this).attr("ows_Title"));
$("#divItems").append("<li>" + name + "</li>");
});
Subsites();
} else {
jQuery("#displayItems").append("<div>Empty</div>");
}
}
});
}
function Subsites() {
$().SPServices({
operation: "GetWebCollection",
webURL: "*url*",
async: true,
completefunc: function(xData, Status) {
$(xData.responseXML).find("Webs > Web").each(function() {
var $node = $(this);
var liHtml = "<li> <a href='" + $node.attr("Url") + "' >" + $node.attr("Title") + "</a> </li>";
$("#displayItems").append(liHtml);
});
}
});
}
< div id = "displayItems" >
< /div>
您可以将所有列表和子网站名称保存到同一个数组中,然后在循环遍历该数组以打印结果之前对该数组进行排序(使用Array.sort()
)。
function GetItems() {
var names = [];
$().SPServices({
operation: "GetListItems",
async: true,
listName: "GatheredSites",
CAMLViewFields: "<ViewFields><FieldRef Name='Title' /></ViewFields>",
CAMLQuery: "<Query><OrderBy><FieldRef Name='Title' Ascending='True' /></OrderBy></Query>",
completefunc: function (xData, Status) {
if (Status == 'success') {
$(xData.responseXML).SPFilterNode("z:row").each(function () {
var name = ($(this).attr("ows_Title"));
names.push(name);
});
$().SPServices({
operation: "GetWebCollection",
webURL: "*url*",
async: true,
completefunc: function (xData, Status) {
$(xData.responseXML).find("Webs > Web").each(function () {
var $node = $(this);
names.push($node.attr("Title"));
});
names.sort();
var output = $("#divItems");
for (var i = 0, len = names.length; i < len; i++) {
output.append("<li>" + names[i] + "</li>");
}
}
});
} else {
jQuery("#displayItems").append("<div>Empty</div>");
}
}
});
}
相关文章:
- 如何基于两个下拉选择从数据库中检索数据
- 解耦按钮(两个按钮同时切换),并根据数据显示相应的按钮
- 如何从两个不同的来源提取JSON数据
- 通过共享服务在两个不同ng应用程序中的控制器之间共享数据
- 如何外部联接两个数据集(基于多个主键)
- jQuery 选择器,用于通过比较元素的两个数据属性来选择元素
- 以角度交叉引用两个数据集
- 使用Node/JS合并两个数据集
- Jquery mobile -如何为两个数据集使用listview数据过滤器
- 使用两个数据器拖放图像
- 使用JavaScript从SharePoint组合和排序两个数据集合
- 两个数据表在一个页面中-第二个初始化奇怪
- 如何加载CSV和JSON文件,并使用d3将两个数据集组合到一个数据集.Json, d3.csv和d3.zip
- 合并两个数据uri以创建单个图像
- 谷歌分析:在多跟踪设置中不接收两个数据流
- 为什么我返回ajax调用给我两个数据拾取器输入框
- 如何比较两个数据对象's
- 基于JavaScript中的公共值合并两个数据结构
- 将两个数据数组组合并修改为单个数组
- 两个数据与单选按钮在一个aspx页面