Θα ήθελα να κάνω κάτι τέτοιο για να τσεκάρω ένα "checkbox" χρησιμοποιώντας jQuery:
$(".myCheckBox").checked(true);
ή
$(".myCheckBox").selected(true);
Υπάρχει τέτοιο πράγμα;
Χρησιμοποιήστε .prop()
:
$('.myCheckbox').prop('checked', true);
$('.myCheckbox').prop('checked', false);
Εάν εργάζεστε με ένα μόνο στοιχείο, μπορείτε πάντα να έχετε πρόσβαση στο υποκείμενο HTMLInputElement
και να τροποποιήσετε την ιδιότητά του .checked
:
$('.myCheckbox')[0].checked = true;
$('.myCheckbox')[0].checked = false;
Το πλεονέκτημα της χρήσης των μεθόδων .prop()
και .attr()
αντί αυτής της μεθόδου είναι ότι θα λειτουργήσουν σε όλα τα αντιστοιχισμένα στοιχεία.
Η μέθοδος .prop()
δεν είναι διαθέσιμη, οπότε πρέπει να χρησιμοποιήσετε τη μέθοδο .attr()
.
$('.myCheckbox').attr('checked', true);
$('.myCheckbox').attr('checked', false);
Σημειώστε ότι αυτή είναι η προσέγγιση που χρησιμοποιείται από τις δοκιμές μονάδας της jQuery'πριν από την έκδοση 1.6 και είναι προτιμότερη από τη χρήση της $('.myCheckbox').removeAttr('checked');
αφού η τελευταία, αν το πλαίσιο ήταν αρχικά τσεκαρισμένο, θα αλλάξει τη συμπεριφορά μιας κλήσης της .reset()
σε οποιαδήποτε φόρμα που το περιέχει - μια ανεπαίσθητη αλλά πιθανώς ανεπιθύμητη αλλαγή συμπεριφοράς.
Για περισσότερο πλαίσιο, κάποια ελλιπής συζήτηση των αλλαγών στο χειρισμό του χαρακτηριστικού/ιδιότητας checked
κατά τη μετάβαση από την 1.5.x στην 1.6 μπορείτε να βρείτε στις σημειώσεις έκδοσης 1.6 και στην ενότητα Attributes vs. Properties της τεκμηρίωσης .prop()
.
Χρήση:
$(".myCheckbox").attr('checked', true); // Deprecated
$(".myCheckbox").prop('checked', true);
Και αν θέλετε να ελέγξετε αν ένα πλαίσιο ελέγχου είναι τσεκαρισμένο ή όχι:
$('.myCheckbox').is(':checked');
Μπορείτε να κάνετε
$('.myCheckbox').attr('checked',true) //Standards compliant
ή
$("form #mycheckbox").attr('checked', true)
Εάν έχετε προσαρμοσμένο κώδικα στο συμβάν onclick για το πλαίσιο ελέγχου που θέλετε να ενεργοποιηθεί, χρησιμοποιήστε αυτό αντί αυτού:
$("#mycheckbox").click();
Μπορείτε να καταργήσετε τον έλεγχο αφαιρώντας εντελώς το χαρακτηριστικό:
$('.myCheckbox').removeAttr('checked')
Μπορείτε να τσεκάρετε όλα τα πλαίσια ελέγχου ως εξής:
$(".myCheckbox").each(function(){
$("#mycheckbox").click()
});