jQuery-各()メソッドを使用して、ページロード上のすべてのチェックボックスをループして変更する方法

StackOverflow https://stackoverflow.com/questions/2050924

  •  20-09-2019
  •  | 
  •  

質問

一連の20以上のチェックボックスがあるWebページを読み込んでいます。ページにはデータベースからのデータがロードされているため、チェックボックスの一部がチェックされ、それらのチェックボックスに接続されたTextareasにはテキストが含まれています。私がやりたいと思うのは、1)すべてのchekboxを繰り返してチェックされているものを見つける2)次に、関連する各テキストレアの「無効」属性とCSSプロパティを変更します

各チェックボックスには一意のID(Speca01、Speca02、Speca03など)があり、各Textareaには一意のが関連するID(たとえば、Speca02Summ、Speca03Summなど)があります。

私は同じページの別の行から変更したこのコードを持っていますが、私はここでいくつかの基本原則を誤解していることを知っています...おそらく「.this」行に関係している...

    $("input[type=checkbox][checked]").each(
            function() {
                var checkBoxId = $(this).attr('id');
                $('#' + checkBoxId + 'summ').removeAttr("disabled");
                $('#' + checkBoxId + 'summ').css({'background-color' : '#ffffff', 'color' : '#000000', 'border-color' : '#696FA3', 'height' : '10em'});
                $('#' + checkBoxId + 'summRequired').css("display", "block");

            });

基本的に、このコードでは、チェックされたすべてのチェックボックスをループし、各IDを「CheckboxId」と呼ばれる変数で取得し、「#」 + CheckboxId + 'Summ'のIDでTextarea要素を変更しようとしています。提供できるヘルプやガイダンスは非常に高く評価されています。私の露骨な無知でごめんなさい。私はまだプログラミングとjQueryを学んでいます。

役に立ちましたか?

解決

$(":checkbox:checked").each(function(o){
  var chkID = $(this).attr("id");
  $("#"+chkID+"summ").removeAttr("disabled");
  /* ... */
});
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top