2012-11-28 2 views
2

Я хочу создать вопрос с массивом, состоящий из флажков и коротких текстовых полей ввода. Иллюстрация:Массив флажков и текстовые поля ввода в Limesurvey (2.0)

Fruits  bitter sweet salty  other     
orange  cBox  cBox  cBox  inputText 
mango  cBox  cBox  cBox  inputText 
    .   .  .  .   . 
    .   .  .  .   . 
    .   .  .  .   . 
inputText  cBox  cBox  cBox  inputText 

До сих пор я могу создать «Array (Multi Flexi) (Числа)» в варианте Checkbox, но не с необходимыми полями ввода текста. Что касается примера, пользователь должен иметь возможность вводить новый фрукт и описывать его по своему вкусу.

Кажется, что нет возможности создавать новые типы вопросов в Limesurvey 2.0. Но я нашел обходное решение на основе JavaScript для организации several single questions in one line. При попытке адаптировать этот скрипт я узнал, что он не поддерживает тип вопроса массива (упомянутый выше), который мне нужен здесь.

Любые идеи или разные подходы к этому вопросу, вызов? Большое спасибо за любую помощь или трюки, которые помогают мне решить это!

ответ

0

Альтернатива:

  1. Используйте массив 'текст' (существующий тип вопроса в Limesurvey)
  2. Update требуется 'ввода: текст': добавить 'вход: флажок' в одной ячейке (JQuery является здесь)
  3. Добавить систему для каждого из этого флажка: если этот флажок: установлен вход: текст Y, иначе входной набор: текст пустого значения

    <script> 
    $(document).on('click',"#question{QID} :checkbox",function(){ 
        copiedid=$(this).data('copy'); 
        if($(this).is(':checked')){ 
         $("#"+copiedid).val('Y'); 
        }else{ 
         $("#"+copiedid).val(''); 
        } 
    }); 
    $(document).ready(function(){ 
        $('#question{QID} tbody tr td:not(:last-child)').each(function(){ 
         var textinputid=$(this).find('input:text').attr('id'); 
         $(this).find('input:text').hide(); 
         $(this).append("<input type='checkbox' data-copy='"+textinputid+"' />"); 
        }); 
    }); 
    </script> 
    
Смежные вопросы