На основе Кори Мартинса сценарии предварительного заполнения связанных списков Мне удалось автоматически выбрать проект для списков.Я изменил сценарии, добавив несколько дополнительных функций:
-Теперь использует всплывающие диалоговые окна новых элементов, а не переключается на новую страницу элементов.
-Теперь работает со списками объявлений и библиотеками документов (библиотеки документов нужнычтобы JavaScript был добавлен в форму редактирования, а не в новую форму).
-Заполнит параметр SelectedID URL, которого не было у меня при первой загрузке списка.
Вот мои измененные сценарии:
RLHelper-ParentDisplayForm.js
/*
SharePoint 2010 Related List Prefill Version 1.2
Call JQuery and this file from the parent list's view item page that contains related list web parts.
Instructions: http://code.google.com/p/sp2010-related-list-prefill/
RLHelper-ParentDisplayForm.js
*/
function getQuerystring(ji) {
hu = window.location.search.substring(1);
gy = hu.split("&");
for (i=0;i<gy.length;i++) {
ft = gy[i].split("=");
if (ft[0] == ji) {
return ft[1];
}
}
}
_spBodyOnLoadFunctionNames.push("updateSelection");
function updateSelection() {
var selId = getQuerystring("SelectedID");
if (isNaN(selId) === true) {
SelectField('VIEW GUID GOES HERE','1');
}
return false;
}
RLHelper-ChildNewForm.js
/*
SharePoint 2010 Related List Pre-fill Version 1.2
Call JQuery and this file from the child list's new item page.
Instructions: http://code.google.com/p/sp2010-related-list-prefill/
RLHelper-ChildNewForm.js
*/
function getQuerystring(ji, fromParent) {
var hu;
if(fromParent){
hu = parent.window.location.search.substring(1);
}
else{
hu = window.location.search.substring(1);
}
var gy = hu.split("&");
var i = 0;
for (i=0;i<gy.length;i++) {
var ft = gy[i].split("=");
if (ft[0] === ji) {
return ft[1];
}
}
}
function fillfromParent(childfield) {
var dlg = getQuerystring("IsDlg", false);
if (isNaN(dlg) === false && dlg == 1) {
var SelId = getQuerystring("SelectedID", true);
var parentid = SelId.match(/\d+$/);
if (isNaN(parentid) === false && parentid > 0) {
$("select[title="+childfield+"]").val(parentid);
}
}
}