2014-01-18 1 views
2

다음 코드를 사용하여 SharePoint 2013에있을 때 목록 항목을 추가하기 위해 Javascript 만 사용하려고합니다.SharePoint 2013 Javascript 조회 필드가있는 항목 삽입

function createListItem() { 

    var clientContext = new SP.ClientContext.get_current(); 

    var oList = clientContext.get_web().get_lists().getByTitle('CrewNoticesAudit'); 

    var itemCreateInfo = new SP.ListItemCreationInformation(); 
    this.oListItem = oList.addItem(itemCreateInfo); 

    oListItem.set_item('Title', 'My New Item!'); 
    oListItem.set_item('NoticeId', 1); // THIS IS A LOOKUP VALUE 
    oListItem.set_item('User', 'administrator'); 
    oListItem.set_item('TimeStamp', new Date()); 
    oListItem.set_item('AuditType', 'Open'); 

    oListItem.update(); 

    clientContext.load(oListItem); 

    clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed)); 
} 

function onQuerySucceeded() { 
    alert('Item created: ' + oListItem.get_id()); 
} 

function onQueryFailed(sender, args) { 
    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace()); 
} 

문제점은 NoticeId가 다른 목록을 조회하는 조회 값이라는 것입니다. 항목에 조회 값을 설정하기 위해 다른 작업을 수행해야합니까?

업데이트 : 죄송합니다. 두 번째 구글 더 결실.

다른 사람이 어려움을 겪고있는 경우 조회 필드를 만들어야합니다.

var noticeIdLookup = new SP.FieldLookupValue(); 
    noticeId.set_lookupId(noticeId); 
+0

을 사용할 수 있습니다 설정하는 동안? –

+0

@DouglasSantos가 성공하고 실패한 예제를 포함하도록 업데이트되었습니다. – owen79

답변

3

올바른 방법은 다음과 같습니다

var lkfieldsomthing = new SP.FieldLookupValue(); 

lkfieldsomthing.set_lookupId(ID_VALUE); //WHERE ID_VALUE is the unique ID 

다음은`onQuerySucceeded`과`onQueryFailed`을 어디다 당신이 당신의 예에서

listItem.set_item("LOOKUP_COLUMN_NAME", lkfieldsomthing) 
+0

대단히 감사합니다! p.s .: 여기에 정확히 "ID"가 있습니다. 왜냐하면 UniqueId는 다른 것입니다. –

0

또는 관련 항목이 있으면 대신 전달할 수 있습니다.