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

Posted

技术标签:

【中文标题】使用 JavaScript 更改 SharePoint 列上的下拉选项值【英文标题】:Change drop-down choice value on SharePoint column using JavaScript 【发布时间】:2020-03-01 00:17:01 【问题描述】:

我已被分配从一个弹出窗口(通过 Sharepoint 页面/“仪表板”上的按钮激活)窗口工作,该窗口从 SharePoint 列表中打开一个新表单。这就是弹出窗口的样子。

SharePoint New Form for Event XYZ

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

Saved Toy for Event XYZ

注意:在 SAVE 之后保存/创建玩具项目时,它会保存到另一个 SharePoint 列表以进行记录。

现在,请注意删除按钮。创建玩具项目时,Delete 标志默认为 NO。 目标:我想单击删除按钮并将 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

【问题讨论】:

【参考方案1】:

以下是您对代码的疑问。

this.oListItem = oList.getItemById(listID); 

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

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

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

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

【讨论】:

成功了!我尝试保留 oListItem.deleteObject() 的原因是为了视觉上正确。我认为更新后,列表项将从列表中删除,因此确认该项目已被删除。现在,我将删除它并找到另一种方式来表明该项目已被删除。

以上是关于使用 JavaScript 更改 SharePoint 列上的下拉选项值的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 JavaScript 更改元素的类?

如何使用 javascript 更改所有链接

如何使用 Javascript 保存 CSS 更改?

使用 JavaScript 更改图像大小

如何使用javascript更改内联另一个元素的样式?

如何使用 JavaScript 函数更改 CSS 值(颜色标签)? [复制]