jQuery. Замена содержимого тэгов

Пример шкалы Ликерта в SharePoint

Пост посвящен тому, как установить свои значения шкалы оценок (матрицы вариантов или шкалы Ликерта) в опросах SharePoint. Для этого мне помог jQuery, который позволяет просто творить чудеса с функционалом портала на SharePoint.

В штатном механизме опросов портала SharePoint есть чудесный тип вопросов и ответов, который называется «Шкала оценок (матрица вариантов или шкала Ликерта) в опросах SharePoint». Чаще  эту шкалу называют шкалой Лайкерта. Такая шкала позволяет выразить свое согласие в соответствии с выбранным шагом шкалы от «совсем нет» до «совсем да».

Не думаю, что реализация функционала шкалы Ликерта в SharePoint была простой. Но она есть. Но разные психологи и социологи продолжают придумывать опросы, которые не реализовать имеющимися средствами. Так, шкала оценок в опросе, который недавно необходимо было реализовать, была такая: «-2 очень плохо», «-1 плохо», «1 хорошо», «2 очень хорошо». Из ряда убрали «0» ноль. Пользователю надо именно в таком виде показать ответы.

 

Как сделано в SharePoint

Шкала Ликерта в SharePoint позволяет указать числовые значения (по умолчанию от 1 до 5) и сделать 3 подписи к шкале. По умолчанию подписи такие - низкий, средний и высокий.

Пример шкалы Ликерта в SharePoint

Пример шкалы Ликерта в SharePoint

 

Но заказчику нужно вывести подпись под каждую оценку.

Итак, для опроса решил использовать шкалу из 4х баллов ответа. Посмотрел на сгенерированный код, увидел, как размещены оценки и подписи.

         <table cellpadding="0" cellspacing="1" border="0" height="95%"
                summary="Вопрос со шкалой оценок">
             <tbody>
                 <tr>
                     <td>&nbsp;</td>
                     <td class="ms-verticaldots">&nbsp;</td>
                     <td class="ms-gridCol">
                         Очень плохо
                     </td>
                     <td class="ms-gridCol" colspan="2"></td>
                     <td class="ms-gridCol">
                         Очень хорошо
                     </td>
                 </tr>
                 <tr>
                     <td>&nbsp;</td>
                     <td class="ms-verticaldots">&nbsp;</td>
                     <th scope="col" class="ms-gridCol">1</th>
                     <th scope="col" class="ms-gridCol">2</th>
                     <th scope="col" class="ms-gridCol">3</th>
                     <th scope="col" class="ms-gridCol">4</th>
                 </tr>
             <tbody>
         </table>

 

Подписи в первой строке, оценки – во второй в тэге <th>.

 

Модификация интерфейса опроса SharePoint без серверного кода

Изучив html-код понял, что нужно заменить содержимое тэга <th> на нужные оценки, к ним же добавить подписи. Для реализации замены заголовков был выбран jQuery. Подписи же были просто убраны в свойствах вопросов.

Кода всего ничего. Ищем тэг <th> со значениями «1», «2», «3», «4» и заменяем их на требуемые в формате «-2 очень плохо» и т.д.

 " >        $(document).ready(function () {
            var tbl = $('.ms-formtable');
            var i = 0;
            $('th.ms-gridCol').each(function () {
                var t = $(this).html();

                if (t == 1) {
                    $(this).html("-2<br />(очень плохо)");
                }
                if (t == 2) {
                    $(this).html("-1<br />(плохо)");
                }
                if (t == 3) {
                    $(this).html("1<br />(хорошо)");
                }
                if (t == 4) {
                    $(this).html("2<br />(очень хорошо)");
                }
                i++;
            });
        });

 

Добавить Javascript на страницу опроса получилось только через SharePoint designer, т.к. при нажатии кнопки «Изменить страницу» на форме опросов не появляется риббон, который позволяет вставить в веб-часть «Редактор контента» код в виде HTML.

 


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

No comments yet.

RSS feed for comments on this post. TrackBack URL

Leave a comment







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