こんにちは、これはボタンのクリックで正常に動作します。ビューで選択されたアイテムをループし、ID を警告し、updateListItem 関数を呼び出します。
function ViewSelectedItems(){
var selectedItems = SP.ListOperation.Selection.getSelectedItems();for (var i = 0; i < selectedItems.length; i++) { alert("Item with Id = " + selectedItems[i].id+ " is selected"); updateListItem(selectedItems[i].id)}
window.location.href = window.location.href;
}
updateListItem は onQuerySucceeded を報告しますが、フィールド値は新しい値に設定されていません。アイデアはありますか?
function updateListItem(passedid) {
var siteUrl = '/supportdepts/hr/';
var newval = 999;
var clientContext = new SP.ClientContext(siteUrl);
var oList = clientContext.get_web().get_lists().getByTitle('Staffing Control Panel Request');
this.oListItem = oList.getItemById(passedid);
oListItem.set_item("RefNumber", newval);
oListItem.update();
clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded),
Function.createDelegate(this, this.onQueryFailed));
}
function onQuerySucceeded() {
alert('Item updated!');
}
function onQueryFailed(sender, args) {
alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}