В SharePoint, в списке обсуждений, я создал кнопку «исправить / отменить» (поле «Да / Нет») обсуждение. Но сценарий работает только во второй и последующий раз. Этот скрипт проверяет значение 0 или 1 и меняется на противоположный. Я не очень хорош в написании сценариев, поэтому, пожалуйста, покажите, в чем моя ошибка.
function fieldTest() {
var ctx = SP.ClientContext.get_current();
var olist = ctx.get_web().get_lists().getByTitle('discussion');
var oitem = olist.getItemById(1);
ctx.load(oitem, "fix");
ctx.executeQueryAsync(function () {
check = oitem.get_item("fix");
if (!check) {
oitem.set_item("fix", true);
}
else {
oitem.set_item("fix", false);
}
oitem.update();
});
}
ОБНОВЛЕНИЕ Мне дали правильный ответ на ссылку - https://sharepoint.stackexchange.com/questions/278081/sharepoint-2013-set-yes-no-field-on-selected-list-items-if-else-use-js
function fieldTest() {
var ctx = SP.ClientContext.get_current();
var olist = ctx.get_web().get_lists().getByTitle('Discussions List');
var oitem = olist.getItemById(1);
ctx.load(oitem, "fix");
ctx.executeQueryAsync(function () {
check = oitem.get_item("fix");
if (!check) {
oitem.set_item("fix", true);
}
else {
oitem.set_item("fix", false);
}
oitem.update();
ctx.executeQueryAsync();
});
}
необходимо добавить еще один " executeQuery " после " oitem.update (); ". Спасибо Руне Сперре !!!