0

チェックボックスのセットがあり、チェックされたら質問を表示する必要があります。これらの質問は常に同じです。これはPHPで行われます

チェックボックス1 チェックボックス1 チェックボックス1 チェックボックス1

チェックボックス 1 と 3 が選択されていて、表示されている場合

チェックボックス 1 : 開始日、終了日、開始時刻、終了時刻
チェックボックス 3: 開始日、終了日、開始時刻、終了時刻

チェックボックス4がチェックされると、チェックボックス4の別のボックスが同じ質問とともに表示され、表示されるはずです。

チェックボックス 1: 開始日、終了日、開始時刻、終了時刻
チェックボックス 3: 開始日、終了日、開始時刻、終了時刻
チェックボックス 4: 開始日、終了日、開始時刻、終了時刻

チェックボックス 3 がチェックされていない場合、チェックボックス 3 の質問を削除し、チェックボックス 1 と 4 の質問のみを表示する必要があります チェック
ボックス 1: 開始日と終了
日、開始時刻と終了時刻

4

2 に答える 2

1

あなたはこのようなことをすることができます、それはあなたを助けるかもしれません...

HTML

<div id="panel">
  <input type="button" id="btnadd" name="btnadd" value="Add Question"/>
  <input type="button" id="btnreset" name="btnreset" value="Reset"/>
  <div id="quecheckbox">
  </div>
  <div id="quelist">
  </div>
</div>

jQuery:

function show_ques() {
        var i = $(this).attr('id').substr(-1);
        if ($(this).is(":checked")) {
            //get total count of question list 
            var nQue = $("#quelist").find("div[class^=que]").length;
            var isSet = false; //boolean to check if que is appended or not. 
            if (nQue > 0) {
                var nq = 0;
                $("#quelist").find("div[class^=que]:last").attr('class').substr(-1);
                $("#quelist").find("div[class^=que]").each(function() {
                    nq = $(this).attr('class').substr(-1);

                    if (nq > i && !isSet) {
                        $("#quelist .que" + nq).before("<div class='que" + i + "'>Question " + i + " is....?</div>");
                        isSet = true;
                    }
                });
            }
            if (!isSet) {
                $("#quelist").append("<div class='que" + i + "'>Question " + i + " is....?</div>");
            }
        } else {
            $("#quelist").find("div.que" + i).remove();
        }
 }
$(function() {
        $("#btnadd").click(function() {
            var i = $("#quecheckbox").find("input[type=checkbox]").length;
            if (i <= 0) i = 1;
            else i += 1;
            $("#quecheckbox").append("<div><input type='checkbox' id='que" + i + "' name='que" + i + "'/><label for='que" + i + "'>Question " + i + "</div>");

            $("#que" + i).bind('change', show_ques);

        });
        $("#btnreset").click(function() {
            $("#quecheckbox").html("");
            $("#quelist").html("");
        });
 });

http://codebins.com/bin/4ldqpa8で上記の問題の bin を実行しました

于 2012-07-19T08:13:56.497 に答える
0

これは 1 つの方法です。今後の参考のために、おそらく自分で何かを試してから、それが機能しない理由について質問する必要があります。

http://jsfiddle.net/nickcaballero/U7JGW/

于 2012-07-19T04:06:04.723 に答える