0

私はそれぞれ一連の質問とサブ質問を持っています。各質問とサブ質問にはコードがあります。
チェックリストは質問です。サブ チェックリスト はサブ質問です。例 :-

コード 質問
4.1 質問 1
4.1.1サブ質問 1

5.1 質問 2
5.1.1サブ質問 1
5.1.2サブ質問 2

各質問の横にチェックボックスがあります。それらをクリックすると、サブ質問が表示されます。

ここでの私の問題は次のとおりです。すべての質問のサブ質問が最初の質問自体の下に表示されます。

これが私のコードです:

var json = $.parseJSON(master_checklists);

        var count_checklists = Object.keys(json).length;
        //console.log("No of checklists:"+count_checklists);
            var flag;
            var data1='';

        $(json).each(function(i,val_masterChecklist)
        {

            data = ++count + ') ' ;
            data += val_masterChecklist['code'] + '   '
            data += val_masterChecklist['checklist'] + '   '


            db.transaction(function (tx) 
            {   
                tx.executeSql('SELECT flag FROM checklists WHERE code ="'+val_masterChecklist['code']+'"', [], function (tx, results)
                {
                    flag = results.rows.item(0).flag;

                    if(flag == 0)
                    {
                        data = '<input type="checkbox" onclick="all_toggle_flag('+val_masterChecklist['code']+',1)">'+'<br>';
                        $("#all_checklists").append(data);
                    }

                    else if (flag == 1 || flag == 2)
                    {

                        data = '<input type="checkbox" onclick="all_toggle_flag('+val_masterChecklist['code']+',0)" checked>'+'<br>';
                        $("#all_checklists").append(data);
                        var checklistcode = chcode_from_schcode(val_masterChecklist['schcode'])

                        if(val_masterChecklist['code']==checklistcode)
                        {

                            data1 = '&nbsp;'+'&nbsp;'+'&nbsp;'
                            data1 += ++count_subchecklist + ') ' ;

                            data1 += val_masterChecklist['subchecklist'];

                            fetch_input_type(val_masterChecklist['data_type'],val_masterChecklist['schcode'],val_masterChecklist['code']);

                        }


                        $("#all_subchecklists").append(data1);
                    }   
                });

            });

                data += '<div id = "all_subchecklists"></div>'+'<br>'+'<br>'; 
                $("#all_checklists").append(data);          
        });

質問とサブ質問は json からのものです。

これを解決するためにあなたのアイデアを共有してください。

ありがとうございました ..

4

2 に答える 2

0

JSON文字列を次のようにフォーマットまたは構築する必要があると思いますArrays

したがって、質問の配列(主な質問)があり、配列内の各項目には、配列としてのサブ質問の配列があります(再び)。

これを実装する方法はプログラミング言語に依存し、JavaScript で JSON を解析するには、ここで多くのヘルプを見つけることができると確信しています

于 2013-03-25T14:47:06.320 に答える
0

チェックボックスがクリックされたときに呼び出される関数にこれを配置して使用できます。

$(this).closest("tr")

それ以外の

$("#all_checklists").append(data);

$(this).closest("tr").find(".classname") も使用して、クリックされたものに関連する繰り返しの場所を見つけました。

于 2013-03-25T14:50:12.237 に答える