J'ai un scénario comme plusieurs sections ont une fonctionnalité similaire définie ci-après
<html lang="en"> <head>
<title>Test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#fav_countries_checkboxAll_option").click(function(){
$(".fav-color").prop('checked', 'checked');
});
$("#fav_sports_checkboxAll_option").click(function(){
$(".fav-sport").prop('checked', 'checked');
});
});
</script> </head> <body> <h3>Favorite Countries</h3> <a id="fav_countries_checkboxAll_option"
href="javascript:void(0);">Select all</a> <input type="checkbox"
class="fav-color" name="country1" value="India">India<br/> <input
type="checkbox" class="fav-color" name="country2"
value="Singapore">Singapore<br/> <input type="checkbox"
class="fav-color" name="country3" value="Australia">Australia<br/>
<input type="checkbox" class="fav-color" name="country4"
value="Ameria">Ameria<br/> <br/>
<h3>Favorite Sports</h3> <a id="fav_sports_checkboxAll_option" href="javascript:void(0);">Select
all</a> <input type="checkbox" class="fav-sport" name="sport1"
value="Cricket">Cricket<br/> <input type="checkbox"
class="fav-sport" name="sport2" value="Tennis">Tennis<br/> <input
type="checkbox" class="fav-sport" name="sport3"
value="VolleyBall">VolleyBall<br/> </body> </html>
3 Réponses :
Vous pouvez y parvenir en utilisant un sélecteur de classe comme ci-dessous
$(".checkAll").click(function(){
var relatedCtrls = $(this).attr('related-ctrls')
if(relatedCtrls)
$('.'+relatedCtrls).prop('checked', 'checked');
});
<a id="fav_countries_checkboxAll_option"
href="javascript:void(0);" class="checkAll" related-ctrls="fav-color">Select all</a>
<a id="fav_countries_checkboxAll_option"
href="javascript:void(0);" class="checkAll" related-ctrls="fav-sport">Select all</a>
Vous pouvez le faire même sans classes ou identifiants en utilisant p> NextUntUntil () code> et filtre () code>: <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h3>Favorite Countries</h3>
<a id="fav_countries_checkboxAll_option" href="javascript:void(0);">Select all</a> <input type="checkbox" class="fav-color" name="country1" value="India">India<br/> <input type="checkbox" class="fav-color" name="country2" value="Singapore">Singapore<br/> <input type="checkbox" class="fav-color" name="country3" value="Australia">Australia<br/> <input type="checkbox" class="fav-color" name="country4" value="Ameria">Ameria<br/> <br/>
<h3>Favorite Sports</h3>
<a id="fav_sports_checkboxAll_option" href="javascript:void(0);">Select all</a> <input type="checkbox" class="fav-sport" name="sport1" value="Cricket">Cricket<br/> <input type="checkbox" class="fav-sport" name="sport2" value="Tennis">Tennis<br/> <input type="checkbox" class="fav-sport" name="sport3" value="VolleyBall">VolleyBall
Évidemment, il existe de nombreuses façons d'atteindre vos besoins.
Veuillez envisager de nommer votre case à cocher avec le même nom Nous utilisons la classe code> pour identifier notre élément d'action Nous utilisons HTML5 Passez le nom code> Nous obtenons de l'attribut Data p> code> lors du regroupement.
Ce n'est pas obligatoire mais lorsque vous essayez d'obtenir une liste de toutes les cases cochées
Sous certaines catégories, cela devient utile. Dans ton cas
Favorise et favorisportsport. P> li>
A code> élément et joindre Cliquez sur CODE> Fonction P> LI>
Attribut code> pour stocker le nom code> de la catégorie Cochez la case
pour effectuer Selectall sur. Dans ce scénario data-toselect = 'cofre_country' code>, data-toselect = "préféré_sport ' code> p> l> li>
DATA-TOSELECTE CODE> à la fonction Prop code> fonction et mettez à jour la valeur sur vérifié code> p> li>
ul> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<h3>Favorite Countries</h3>
<a id="fav_countries_checkboxAll_option" class="select-all-link" data-toselect="favorite_country" href="javascript:;">Select all</a>
<legend>Favorite Countries?</legend>
<input type="checkbox" name="favorite_country" value="India">India<br>
<input type="checkbox" name="favorite_country" value="Singapore">Singapore<br>
<input type="checkbox" name="favorite_country" value="Australia">Australia<br>
<input type="checkbox" name="favorite_country" value="Ameria">Ameria<br>
<a id="fav_sports_checkboxAll_option" class="select-all-link" data-toselect="favorite_sport" href="javascript:;">Select all</a>
<legend>Favorite Countries?</legend>
<input type="checkbox" name="favorite_sport" value="Cricket">Cricket<br>
<input type="checkbox" name="favorite_sport" value="VolleyBall">VolleyBall<br>
<input type="checkbox" name="favorite_sport" value="Tennis">Tennis<br>
</body>
Merci ça marche .. y a-t-il un moyen d'aller chercher le nom de la case à cocher dans l'événement Onchange
@arjunan, événement ONCHANGE de quoi? la case à cocher? Je dirais que ce serait une question différente, mais ce sera le long des lignes OIF $ ('TYPE = Cochez la case]'). ON ("Modifier", fonction () {console.log ($ (ceci ) .attr ('nom'));}) code> appliqué sur toutes les cases à cocher sur la page
Merci beaucoup pour votre aide. J'ai pu trouver une solution pour mon dernier commentaire.