0

クリックするとチェックボックスとテキストフィールドが追加されるボタンがあります。また、チェックボックスを数えています-これは機能していないようです。そこで、さらに2つの「静的」なものを追加しましたが、機能します。奇妙なことに、appendTo() を介して追加されたものは、「静的」ボックスをクリックした後にのみカウントされます。つまり、たとえば、appendTo() チェックボックスをクリックします - 0 カウント 「静的」なものをクリックします - 2 つ表示されますが、これは正しいです。

$(function() {
   // other stuffs
   function countChecked() {
          var n = $(":checked").length;
          $("#a").text(n + (n === 1 ? " is" : " are") + " checked!");
   }
   countChecked();
   $(":checkbox").click(countChecked);

    $( "#addanswer" ).click(function() { 
                clicked=clicked+1;
                $('<input>').attr({
                    type: 'checkbox',
                    id: 'markup['+clicked+']',
                    name: 'markup['+clicked+']'
                }).appendTo('#myForm').after("");               
                $('<input>').attr({
                    type: 'text',
                    id: 'answer['+clicked+']',
                    name: 'answer['+clicked+']'
                }).appendTo('#myForm').after("<br />");
            });    
          // ...
          // ...

誰が何が悪いのか教えてもらえますか? 私はすでにさまざまな数え方を試してきました。

4

1 に答える 1

1

.on代わりに使用してください。

$('#myForm').on('click', 'input:checkbox', countChecked);
于 2012-09-14T15:25:34.943 に答える