【问题标题】:Jquery button selecting all checkboxed within a div and button selecting all on pageJquery按钮选择div中的所有复选框和按钮选择页面上的所有
【发布时间】:2012-08-27 03:15:43
【问题描述】:

嗨,我真的可以在这方面提供一些帮助,因为我无法让按钮选择 .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') 不是:(。

提前感谢您能给我的任何帮助:)

【问题讨论】:

    标签: javascript jquery checkbox


    【解决方案1】:

    jsBin demo

    在第 11 行添加 $(this) - 在您的 HTML 中添加 &lt;/div&gt;:

     $(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>
    

    【讨论】:

    • 感谢 Roko,非常感谢您的帮助,您一定会喜欢 StackOverflow 在不到 5 分钟内回答的问题...干杯人 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-09-29
    • 1970-01-01
    • 2020-03-26
    • 1970-01-01
    • 2013-02-02
    • 2020-12-23
    • 2016-12-21
    相关资源
    最近更新 更多