0

こんにちは、.voltSiteResultContainer 内のすべてのチェックボックスを選択するボタンを機能させることができないため、これについていくつかの助けを借りて実際に行うことができます

HTML の例:

 <div class="pageContainer">
<input type="button" class="check" value="check all"> // want this button to check all on page
<div class="voltSiteResultContainer">
    <div class="checkWrap">
        <input type="button" class="checkSite" value="check all"> // want this button to check all within .voltSiteResultContainer
    </div>
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
</div>
<div class="voltSiteResultContainer">
    <div class="checkWrap">
        <input type="button" class="checkSite" value="check all"> // want this button to check all within .voltSiteResultContainer
    </div>
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
    <input name="checkFile" type="checkbox" class="checkFile" value="1514583">
</div>

現在の Jquery:

 <script type="text/javascript">
            $(document).ready(function(){
        $('.check:button').toggle(function(){
            $('input:checkbox').attr('checked','checked');
            $(this).val('uncheck all')
        },function(){
            $('input:checkbox').removeAttr('checked');
            $(this).val('check all');        
        })
    })
            $(document).ready(function(){
        $('.checkSite:button').toggle(function(){
            .closest('.voltSiteResultContainer').find('input:checkbox').attr('checked','checked');
            $(this).val('uncheck all')
        },function(){
            $('input:checkbox').removeAttr('checked');
            $(this).val('check all');        
        })
    })

したがって、$('.check:button') は機能しますが、$('.checkSite:button') は :( ではありません。

あなたが私に与えることができるどんな助けにも前もって感謝します:)

4

1 に答える 1

2

jsBin デモ

11行目に追加- そしてあなたのHTML$(this)に欠けている:</div>

 $(document).ready(function(){
   
        $('.check:button').toggle(function(){
            $('input:checkbox').attr('checked','checked');
            $(this).val('uncheck all');
        },function(){
            $('input:checkbox').removeAttr('checked');
            $(this).val('check all');        
        });

        $('.checkSite:button').toggle(function(){
            $(this).closest('.voltSiteResultContainer').find('input:checkbox').attr('checked','checked'); // HERE!!
            $(this).val('uncheck all');
        },function(){
            $(this).closest('.voltSiteResultContainer').find('input:checkbox').removeAttr('checked');
            $(this).val('check all');        
        });
              
});

修正された HTML マークアップ:

<div class="pageContainer">
    <input type="button" class="check" value="check all" /> // want this button to check all on page
    <div class="voltSiteResultContainer">
      <div class="checkWrap">
         <input type="button" class="checkSite" value="check all" /> // want this button to check all within .voltSiteResultContainer
      </div>
      <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
      <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
      <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
    </div>  
</div>
     
<div class="voltSiteResultContainer">
    <div class="checkWrap">
      <input type="button" class="checkSite" value="check all" /> // want this button to check all within .voltSiteResultContainer
    </div>
   <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
   <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
   <input name="checkFile" type="checkbox" class="checkFile" value="1514583" />
</div>
于 2012-08-26T18:51:10.257 に答える