我对SPServices很新,并试图找出如何在单击按钮时对列表项执行简单更新。我在测试网站上设置的是列表视图中每个行列表项上的一个简单输入按钮。出于测试目的,我只想让这个按钮更新名为" Notes" (在重要的情况下,这是文本区域输入)在名为Severities的列表中添加一个简单的文本,说明"更新"。
以下代码是我到目前为止所提出的,并且有一些我不太确定的事情。首先是身份证;根据我在SPServices文档中看到的内容,我们需要始终指定ID。但在我的情况下,我需要以某种方式自动化,所以阅读关于这个类似问题的类似帖子,并根据线程建议使用var id = $(this).closest('tr')[0].id;
。
第二部分我不太确定如何触发.click事件。我希望实现的是当用户按下按钮(输入按钮ID ="反馈")时,我想要触发SPServices用&#更新列表项的Notes字段34;已更新&#34 ;.我为此添加了以下行:
$("#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>