2016-05-07 10 views
0

チェックボックスをオンまたはオフにしたときにうまく動作するコードがありますが、最初にページを読み込み、 、私が見えるようにするdivボックスを表示したいが、コードがそうされていない、私は何も初期ページの読み込み時にチェックボックスがオンになっている間にリンクを表示するJqueryコード

をしないのです

おかげ

$(document).ready(function() { 
    //check the state of the checkox 
    $(".showinvoice").is(':checked') { 
     var stats = $(this).attr('data-id'); 
     $("#"+stats).css('display','block'); 
    } 
    //check the code only when the click button is triggered  
    $(".showinvoice").click(function(e) { 
     var getStudent = $(this).attr('data-id'); 
     if ($(this).is(':checked')) { 
      $("#"+getStudent).css('display','block'); 
     } else { 
      $("#"+getStudent).css('display','none'); 
     } 
    }); 
}); 
+1

...にあなたの最初の部分を変更してみてください:(。$( "showinvoice")(されています) 'にチェック')場合{ –

+0

はおそらくしたいですそこにもそれぞれ。複数の要素がある場合、どのように真実が働くのか忘れてしまいます。 – Taplar

答えて

1

は、まずあなたが不足している、次のコードを案内してください。 ifステートメント.showinvoiceの状態を丸めます。

data()メソッドを使用してdata-*属性にアクセスする必要があります。ラジオとチェックボックスの入力を扱うときは、キーボードを使用してナビゲートするユーザーによってイベントが発生するように、changeメソッドも使用する必要があります。最後にifステートメントを削除して、代わりにtoggle()を使用してください。

必要な処理を行うには、ページの読み込み時にチェックボックスにchangeイベントを発生させる必要があります。これを試して;

// check the state of the checkox 
if ($(".showinvoice").is(':checked')) { 
    var stats = $(this).data('id'); 
    $("#" + stats).show(); 
} 

// check the code only when the click button is triggered  
$(".showinvoice").change(function(e) { 
    var getStudent = $(this).data('id'); 
    $("#" + getStudent).toggle(this.checked); 
}).change(); // < to run this code when the page loads 
0

条件が欠落している場合

//check the state of the checkox 
$(".showinvoice:checked").each(function() { 
    var stats = $(this).data('id'); 
    $("#"+stats).css('display','block'); 
}); 
関連する問題