2016-10-12 2 views
1

Ich habe Kontrollkästchen dynamisch über PHP generiert und ich möchte eine bestimmte Schaltfläche ausblenden, wenn alle Kontrollkästchen mit einem ähnlichen Klassenwert nicht überprüft und reaktiviert werden, wenn sie werden geprüft:Deaktivieren Sie eine Schaltfläche in jquery, wenn Kontrollkästchen mit einem bestimmten Klassenwert aktiviert sind

Der pHP-Code, der die Kontrollkästchen erzeugt ist

<table class="table table-striped"> 
       <thead> 
       <tr> 
        <th>#</th> 
        <th>Description</th> 
        <th>Status</th> 
        <th>Comment</th> 
       </tr> 
       </thead> 
       <tbody> 

foreach ($checks as $m => $check) { 
    $item =""; 
    $checkbox =""; 
    $textinput =""; 
    $displayx=""; 

if ($check->mandatory_customer == 1) { //mandatory customer checks 
$displayx .="<i style='color:red;'>*</i>"; 
    $item .= $check->item.$displayx; 
    $checkbox .='<input type="checkbox" class="1" id="'.$m.'"' ; 
    $textinput .='<input type="text" class="1" id="'.$m.'"' ; 

    } else { //not mandatory customer 
    $item .= $check->item; 
    $checkbox .='<input type="checkbox" class="0" id="'.$m.'"' ; 
$textinput .='<input type="text" class="0" id="'.$m.'"' ; 

    } 

echo "<tr id='" . $m . "'>"; 
echo "<td>" . $m . "</td>"; 
echo "<td>" . $item . "</td>"; 
echo "<td>".$checkbox."</td>"; 
echo "<td>".$textinput."</td>"; 
echo "</tr>"; 
} 
    ?> 
    } 

</tbody> 

ich habe auch eine Schaltfläche, die ich mag würde deaktivieren, wenn alle Kontrollkästchen mit der Klasse 1 nicht überprüft werden, und e Nable es, wenn sie alle geprüft mit Jquery sind

  <button class="btn btn-success" id="approve_btn">Approve</button> 

Ich habe versucht:

$('tbody tr').each(function() { 
    if ($(this).attr('class:1').find('.myCheckBox').prop('checked')) { 
     doEnableButton = true; 
    } 
    if (!doEnableButton) { 
     $('#approve_btn').prop('disabled', 'disabled') 
    } 
    else { 
     $('#approve_btn').removeAttr("disabled"); 
    } 
}); 

});

Ich habe auf mehrere Ressourcen kontrolliert, aber die meisten von ihnen sind nicht hilfreich Die oben reißen, wie gehe ich über dieses

Antwort

1

Try this

$(document).ready(function() { 
     $(":checkbox.1").on("change", function() { 
      if ($(":checkbox.1").not(":checked").length > 0) 
       $("#approve_btn").prop("disabled", "disabled"); 
      else 
       $("#approve_btn").removeAttr("disabled"); 
     }); 
    }); 
+0

Ehrfürchtig es funktioniert –

+0

Bitte könnten Sie auch diese ein überprüfen : http://stackoverflow.com/questions/40003919/disabling-multiple-input-field-if-a-checkbox-is-checked-for-dynamic-inputs-and-r –

Verwandte Themen