Установка даты времени в форме списка SharePoint через jQuery

Я часто занимаюсь разработкой приложений для SharePoint 2010. Да, знаю, что это старый продукт, но он еще долго может быть не выведен из эксплуатации. Я стараюсь как можно реже прибегать к кастомизации с использованием серверного кода, потому максимально использую возможности клиентских приложений.

Конечно, с использованием AngularJS или React можно было бы все делать проще и быстрей, но зависимость от IE8-9 принуждает использовать jQuery.

Недавно делал кастомню форму для списка, в котором было 2 поля типа "Дата и время". И нужно было для тестирования подставлять нужную мне дату. Конечно, это можно сделать в настройках списка SharePoint, но можно и использовать следующий метод.

Я не люблю привязываться к идентификаторам контролов для досутпа к ним через jQuery, так как они часто меняются даже при незначительных изменениях типа изменения порядка. Вместо этого я делаю привязку к названиям полей.

Названия полей были: "начало встречи", "завершение встречи".

Выбор даты и времени разнесен на 3 контрола - дата, часы и минуты, они находятся в разных ячейках таблицы в тэгах td. Дата - это поле 'input text', время - 'select'. Если до input добраться легко, то найти соседний тэг select через jQuery немного трудней. Я сделал это с помощью siblings и children. Ниже код, как я сделал это:

//Установка значений по умолчанию для тестирования                       

$("input[title^='']").val('30.09.2019');
$("label:contains('начало встречи ч.')").siblings("select[id*='DateTimeFieldDateHours']").children('option:selected').val('09:');
$("label:contains('начало встречи ч.')").siblings("select[id*='DateTimeFieldDateMinutes']").children('option:selected').val('00');

$("input[title^='завершение встречи']").val('30.09.2019');
$("label:contains('завершение встречи ч.')").siblings("select[id*='DateTimeFieldDateHours']").children('option:selected').val('16:');
$("label:contains('завершение встречи ч.')").siblings("select[id*='DateTimeFieldDateMinutes']").children('option:selected').val('00');

Код нужно добавлять через веб-часть редактор содержимого, разместив ее на страницах формы создания или редактирования элементов списка SharePoint.


Комментариев нет »

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment






MarkiMarta.ru. Записки отца-программиста" с 2009 г.
Категория информационной продукции 18+
Яндекс.Метрика