Jquery select all if not disabled

后端 未结 4 659
遥遥无期
遥遥无期 2020-12-18 21:46

I am using the following script to select all checkboxes with a given class.

$(document).ready(function(){ // 1
    // 2
    $(\':checkbox.selectall\').on(\'         


        
4条回答
  •  隐瞒了意图╮
    2020-12-18 22:01

    Hm... interresting attempt, but you can't use a jQuery object inside a selector, as the selector is just a plain string.

    The selector for excluding the disabled elements would be :not(:disabled), so your code should be:

    $(document).ready(function(){
      $(':checkbox.selectall').on('click', function(){
        $(':checkbox[class='+ $(this).data('checkbox-name') + ']:not(:disabled)').prop("checked", $(this).prop("checked"));
        $(':checkbox[class='+ $(this).data('checkbox-name') + ']:not(:disabled)').trigger("change");
      });
    });
    

    Note that you can chain calls, so you don't have to select the items twice:

    $(document).ready(function(){
      $(':checkbox.selectall').on('click', function(){
        $(':checkbox[class='+ $(this).data('checkbox-name') + ']:not(:disabled)').prop("checked", $(this).prop("checked")).trigger("change");
      });
    });
    

提交回复
热议问题