0

我对 SPServices 很陌生,并试图弄清楚如何在单击按钮时对列表项执行简单更新。我在测试站点上设置的是列表视图中每个行的列表项上的简单输入按钮。出于测试目的,我只希望此按钮在名为 Severities 的列表中更新名为“Notes”的字段(这是文本区域输入,以防万一),并添加一个简单的文本,即“已更新”。

下面的代码是我到目前为止提出的,还有一些我不太确定的事情。首先是身份证;根据我在 SPServices 文档中阅读的内容,我们需要始终指定一个 ID。但就我而言,我需要以某种方式实现自动化,因此请阅读有关此类似问题的类似帖子,并根据建议使用的线程var id = $(this).closest('tr')[0].id;

我不太确定的第二部分是如何触发 .click 事件。我希望完成的是当用户按下按钮(ID =“feedback”的输入按钮)时,我希望它触发 SPServices 用“更新”更新列表项的 Notes 字段。我为此添加了以下行:

$("#feedback").click(function() {

我觉得其余的应该没问题,但我希望在这一点上提供任何反馈。

这是我的按钮,它位于我的 TR 行的末尾

<input name="Button1" type="button" value="button" id="feedback" />

这是我在列表下的 Content Webpart 中添加的 JavaScript 代码。

<link type="text/css" href="Scripts/jquery-ui-1.11.3/jquery-ui.min.css" rel="stylesheet" />
<SCRIPT LANGUAGE="JavaScript" SRC="Scripts/jquery-1.11.2.min.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="Scripts/jquery-ui-1.11.3/jquery-ui.min.js"></SCRIPT>
<SCRIPT LANGUAGE="JavaScript" SRC="Scripts/SPServices/jquery.SPServices-2014.02.min.js"></SCRIPT>

<script language="javascript" type="text/javascript">
$(document).ready(function() {
    $("#feedback").click(function() {
        var id = $(this).closest('tr')[0].id;
        $().SPServices({
            operation: "UpdateListItems",
            async: false,
            batchCmd: "Update",
            listName: "Severities",
            ID: id,
            valuepairs: [["Notes", "Updated"]],
            completefunc: function (xData, Status) {
                alert("Dang");
            }
        });
    });
});
</script>
4

0 回答 0