使用 JavaScript 更改 SharePoint 列上的下拉选择值

Change drop-down choice value on SharePoint column using JavaScript

我被分配到通过弹出窗口工作(通过 Sharepoint 页面上的按钮激活/"dashboard")window 从 SharePoint 列表打开一个新表单。这是弹出窗口的样子。

SharePoint New Form for Event XYZ

注意:促销商品、购买数量、活动和删除(标志!!!)都使用 SharePoint 新表单进行了修改。这些输入都位于 SharePoint 列表中它们自己的列中(从另一个角度来看)。保存项目时,会发生这种情况:

Saved Toy for Event XYZ

注意:当玩具项在保存后 saved/created 时,它会保存到另一个 SharePoint 列表以供记录。

现在,请注意“删除”按钮。创建玩具项目时,删除标志默认为 NO。 Objective: 我想单击删除按钮并将 Sharepoint 选择值从 NO 更改为 YES。到目前为止,我已经创建了这段代码(它不起作用):

function deleteGuestName(parent, parentID){
    var clientContext = new SP.ClientContext.get_current();
    var oList = clientContext.get_web().get_lists().getByTitle('Toy Order List'); //SP list name 

        this.oListItem = oList.getItemById(listID); 
        this.oListItem = oList.set_item("Delete","Yes"); //I thought this would change the choice field
        oList.update();
        oListItem.deleteObject();

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

function onQuerySucceeded() {
refreshGrid();
    parent.closeHSPopup();
}

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

感谢您对此提供的任何帮助。如果需要,我很乐意澄清。 thnxx

这里有疑惑给你代码

this.oListItem = oList.getItemById(listID); 

要获取列表项,oList.getItemById(listID) 应该是 oList.getItemById(itemid)

要更新列表项,oList.update() 应该是

this.oListItem.set_item("Delete","Yes")
this.oListItem.update()

如果要更新项目,为什么要调用 oListItem.deleteObject() 删除项目?