起初做过一个静态的列表项创建更新,首先会有一个关联ID项,经过Query可以找到父列表里面的关联ID,再去子列表用里面的关联ID去检索。
父列表的列表项以及输入框都是静态的,父子列表也是固定的。通过关联ProjectId去检索出的子列表
function GetChapterItem(ListId) { //根据父列表的ID检索出子列表ChapterList的列表项
context = new SP.ClientContext.get_current();
var list = context.get_web().get_lists().getByTitle('ChapterList');
var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<View><Query><Where><Eq><FieldRef Name=\'ProjectId\'/>' + '<Value Type=\'Text\'>' + ListId + '</Value></Eq>' + '</Where><OrderBy><FieldRef Name=\'ChapterNo\' Ascending=\'True\' /></OrderBy></Query></View>');
var listItems = list.getItems(camlQuery);
context.load(listItems, 'Include (ID,ProjectId,ChapterNo,ChapterName,Author1)');
// Make an asynchronous call, which will load our list
context.executeQueryAsync(
// Success callback
function () {
Next(listItems);
},
// Failure callback
function (sender, args) {
});
}
function Next(listItems) {
context.executeQueryAsync(
// Success callback
function () {
var listItemEnumerator = listItems.getEnumerator();
var number = listItems.get_count();
while (listItemEnumerator.moveNext()) {
var listItem = listItemEnumerator.get_current();
var FileName = listItem.get_fieldValues()["ChapterName"];
var FileIn = listItem.get_fieldValues()["Author1"];
var ListId = listItem.get_fieldValues()["ProjectId"];
var ListNo = listItem.get_fieldValues()["ChapterNo"];
var CID =listItem.get_fieldValues()["ID"];
var cont = $('#morioka tbody.mytbody');
var i = $('#morioka tr.row').size() + 1;
cont.append('<tr class="row"><td class="itemid">' + CID + '</td><td class="chapterno">' + ListNo + '</td><td class="chaptername" ><input type="text" value="' + FileName + '" name="wenzhang' + i + '"></td><td class="chapter" ><input type="text" class="chaptername" value="' + FileIn + '" name="zuozhe' + i + '"></td><td><div id="del">删除</div></td></tr>');
document.getElementById("test2").innerHTML = ListId;
}
$(document).on('click', '#del', function () {
$(this).parents('#morioka tr').remove();
return false;
});
},
// Failure callback
function (sender, args) {
});
}
这是根据关联ProjectId动态创建子列表的HTML页面。