Comment faire pour cocher/décocher l'événement de <input type="checkbox" />
avec jQuery?Catch vérifié changer l'événement d'une case à cocher
Répondre
<input type="checkbox" id="something" />
$("#something").click(function(){
if($(this).is(':checked')) alert("checked");
});
Edit: Faire cela ne sera pas attraper lorsque la case change pour d'autres raisons d'un clic, comme l'utilisation du clavier. Pour éviter ce problème, écoutez change
au lieu de click
.
Pour le contrôle/décochant programme, jetez un oeil à Why isn't my checkbox change event triggered?
document.getElementById ('something'). Checked fonctionne, pourquoi $ ('# something'). Checked ne fonctionne pas? – omg
Il vous manque un paran dans votre code et vous devriez vraiment utiliser la méthode jQuery pour obtenir l'état de vérification. –
Parce que $ ('# something') renvoie un objet jQuery pas un ElementNode –
utiliser l'événement click pour une meilleure compatibilité avec MSIE
$(document).ready(function() {
$("input[type=checkbox]").click(function() {
alert("state changed");
});
});
$(document).ready(function(){
checkUncheckAll("#select_all","[name='check_boxes[]']");
});
var NUM_BOXES = 10;
// last checkbox the user clicked
var last = -1;
function check(event) {
// in IE, the event object is a property of the window object
// in Mozilla, event object is passed to event handlers as a parameter
event = event || window.event;
var num = parseInt(/box\[(\d+)\]/.exec(this.name)[1]);
if (event.shiftKey && last != -1) {
var di = num > last ? 1 : -1;
for (var i = last; i != num; i += di)
document.forms.boxes['box[' + i + ']'].checked = true;
}
last = num;
}
function init() {
for (var i = 0; i < NUM_BOXES; i++)
document.forms.boxes['box[' + i + ']'].onclick = check;
}
HTML:
<body onload="init()">
<form name="boxes">
<input name="box[0]" type="checkbox">
<input name="box[1]" type="checkbox">
<input name="box[2]" type="checkbox">
<input name="box[3]" type="checkbox">
<input name="box[4]" type="checkbox">
<input name="box[5]" type="checkbox">
<input name="box[6]" type="checkbox">
<input name="box[7]" type="checkbox">
<input name="box[8]" type="checkbox">
<input name="box[9]" type="checkbox">
</form>
</body>
Hey! Buddy, que faites-vous ici? – omg
On dirait une sélection de gamme (c.-à-vérifier la premier élément, maintenez la touche Maj enfoncée, vérifiez la dernière, et toutes les autres sont vérifiées.) Cependant, c'est beaucoup plus que ce que la question demande, mais il manque un peu de code, comme checkUncheckAll(). – joelsand
Utilisez ci-dessous code snipp et pour y parvenir .:
$('#checkAll').click(function(){
$("#checkboxes input").attr('checked','checked');
});
$('#UncheckAll').click(function(){
$("#checkboxes input").attr('checked',false);
});
Ou vous pouvez faire la même chose avec case à cocher simple:
$('#checkAll').click(function(e) {
if($('#checkAll').attr('checked') == 'checked') {
$("#checkboxes input").attr('checked','checked');
$('#checkAll').val('off');
} else {
$("#checkboxes input").attr('checked', false);
$('#checkAll').val('on');
}
});
Pour démonstration: http://jsfiddle.net/creativegala/hTtxe/
Le clic aura une incidence sur une étiquette si nous avons un joint à la case à cocher d'entrée?
Je pense qu'il est préférable d'utiliser la fonction .Modification()
<input type="checkbox" id="something" />
$("#something").change(function(){
alert("state changed");
});
Pour JQuery 1.7+ utilisation:
$('input[type=checkbox]').on('change', function() {
...
});
Dans mon expérience, j'ai dû tirer parti currentTarget de l'événement :
$("#dingus").click(function (event) {
if ($(event.currentTarget).is(':checked')) {
//checkbox is checked
}
});
Ce code fait ce que votre besoin:
<input type="checkbox" id="check" >check it</input>
$("#check").change(function(){
if($(this).is(':checked')) {
alert("checked");
}else{
alert("unchecked");
}
});
En outre, vous pouvez vérifier sur jsfiddle
- 1. Comment changer l'apparence d'une case à cocher?
- 2. Case à cocher d'image de case à cocher dans UITableViewCell
- 3. TriState Case à cocher - comment changer l'ordre des états
- 4. Inhiber une case à cocher de changer en cliquant dessus
- 5. Struts case à cocher
- 6. C# case à cocher eventhandler
- 7. Liste déroulante Case à cocher
- 8. VbScript ASP: case à cocher
- 9. yahoo mail case à cocher
- 10. case à cocher dans UltraGrid
- 11. Cellule de case à cocher Datagrid
- 12. Case à cocher dans un rapport Crystal
- 13. case à cocher permet à Jquery
- 14. Comment désactiver la case à cocher de la case à cocher dans DataGridView - Windows Forms?
- 15. Silverlight DataGrid La case à cocher Dynamique de la case à cocher doit cliquer sur l'événement
- 16. DatagridView Checkbox Vérifié?
- 17. persistance des valeurs de case à cocher
- 18. Infopath 2007: Cacher une case à cocher
- 19. Case à cocher dans le contrôle listview
- 20. validation case à cocher dans Windows Mobile
- 21. Validation de la case à cocher
- 22. case à cocher multiligne dans wxpython
- 23. Supprimer plusieurs éléments par case à cocher
- 24. valeur d'impression de la case à cocher
- 25. Case à cocher de sélection avec déclencheurs?
- 26. case à cocher valeur dans jquery
- 27. Valeur de la case à cocher
- 28. Test case à cocher cliquez sur
- 29. asp.net gridview case à cocher sélection
- 30. C# wpf question case à cocher personnalisée
Si vous utilisez une version relativement récente de JQuery, j'utiliser le .on ('changement', function() {...}) tel que mentionné dans @Daniel De Leon réponse ci-dessous. Un avantage, l'écouteur d'événement "on" se liera au html généré dynamiquement. – BLang