2

チェックボックスと短いテキスト入力フィールドで構成される配列の質問を作成したいと思います。図:

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

今までは、チェックボックスバリアントで「配列(マルチフレキシ)(数値)」を作成できますが、必要なテキスト入力フィールドを使用することはできません。例に関しては、ユーザーは新しい果物を入力し、それを自分の好みで説明できる必要があります。

Limesurvey2.0で新しい質問タイプを作成する方法はないようです。しかし、1行にいくつかの単一の質問を配置するためのJavaScriptベースの回避策を見つけました。このスクリプトを適応させようとすると、ここで必要な配列の質問タイプ(前述)がサポートされていないことがわかりました。

このaehmへのアイデアや異なるアプローチはありますか?これを解決するのに役立つヘルプやトリックを事前に感謝します!

4

1 に答える 1

0

別 :

  1. 「テキスト」の配列を使用します (LimeSurvey の既存の質問タイプ)
  2. 必要な 'input:text' の更新: 同じセルに 'input:checkbox' を追加します (jquery はこちら)
  3. このチェックボックスごとにシステムを追加します: このチェックボックスがチェックされている場合: input:text を Y に設定し、それ以外の場合は input:text を空の値に設定します

    <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>
    
于 2014-03-12T09:40:01.870 に答える