iCheck vérifier si la case est cochée
j'utilise le plugin iCheck pour personnaliser les cases à cocher. J'ai besoin d'afficher certaines de texte lors de l' un ou plusieurs la case à cocher est cochée et le texte est masqué lorsqu'aucun texte n'est coché.
le code que j'ai actuellement affiche le texte sur le premier clic mais ne le cache pas sauf si je clique 2 fois de plus. J'ai plusieurs cases à cocher et j'aimerais montrer le texte si l'une d'elles est cochée, sinon masquez le texte. Quelqu'un a une idée? Plugin a:
ifChecked
ifChanged
ifClicked
ifUnchecked
ifToggled
ifDisabled
ifEnabled.......
rappels....Voici la fonction de plugin
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});
Voici ce que j'ai essayé..
$('input').on('ifChecked', function(event){
$(".hide").toggle();
});
html
<input type="checkbox">
<div class"hide" style="display:none">Hi there</div>
14 réponses
Pour ceux qui luttent avec ceci:
var chckValue = $('SELECTOR').iCheck('update')[0].checked;
Cela renvoie directement true
ou false
boolean
.
Vérifiez ceci :
var checked = $(".myCheckbox").parent('[class*="icheckbox"]').hasClass("checked");
if(checked) {
//do stuff
}
vous pouvez obtenir la valeur de la case et le statut par
$('.i-checks').on('ifChanged', function(event) {
alert('checked = ' + event.target.checked);
alert('value = ' + event.target.value);
});
Vous avez juste besoin d'utiliser les callbacks, de la documentation: https://github.com/fronteed/iCheck#callbacks
$('input').on('ifChecked', function(event){
alert(event.type + ' callback');
});
tous les callbacks et fonctions sont documentés ici:http://fronteed.com/iCheck/#usage
$('input').iCheck('check'); — change input's state to checked
$('input').iCheck('uncheck'); — remove checked state
$('input').iCheck('toggle'); — toggle checked state
$('input').iCheck('disable'); — change input's state to disabled
$('input').iCheck('enable'); — remove disabled state
$('input').iCheck('indeterminate'); — change input's state to indeterminate
$('input').iCheck('determinate'); — remove indeterminate state
$('input').iCheck('update'); — apply input changes, which were done outside the plugin
$('input').iCheck('destroy'); — remove all traces of iCheck
j'ai écrit quelques chose simple:
quand vous initialisez icheck
comme:
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' // optional
});
Ajouter ce code par:
$('input').on('ifChecked', function (event){
$(this).closest("input").attr('checked', true);
});
$('input').on('ifUnchecked', function (event) {
$(this).closest("input").attr('checked', false);
});
après cela, vous pouvez facilement trouver l'état de votre case à cocher d'origine.
J'ai écrit ce code pour utiliser icheck
gridView
et a accédé à son état à partir du serveur côte à côte par C#.
il suffit de trouver votre case à cocher à partir de son id.
pour savoir si la case iCheck est cochée
var isChecked = $("#myicheckboxid").prop("checked");
Utilisez ce code pour iCheck:
$('.i-checks').iCheck({
checkboxClass: 'icheckbox_square-green',
radioClass: 'iradio_square-green',
}).on('ifChanged', function(e) {
// Get the field name
var isChecked = e.currentTarget.checked;
if (isChecked == true) {
}
});
Appel
element.iCheck('update');
Pour obtenir la mise à jour de la majoration sur l'élément
Utilisez le code suivant pour vérifier si iCheck est vérifié ou non en utilisant une seule méthode.
$('Selector').on('ifChanged', function(event){
//Check if checkbox is checked or not
var checkboxChecked = $(this).is(':checked');
if(checkboxChecked) {
alert("checked");
}else{
alert("un-checked");
}
});
$('input').on('ifChanged', function(event) {
if($(".checkbox").is(":checked")) {
$value = $(this).val();
}
else if($(".checkbox").is(":not(:checked)")) {
$value= $(this).val();
}
});
cela fonctionne pour moi... essayer
// Check #x
$( "#x" ).prop( "checked", true );
// Uncheck #x
$( "#x" ).prop( "checked", false );
vous pouvez envelopper toutes vos cases à cocher dans une classe parent et vérifier la longueur de .checked
..
if( $('.your-parent-class').find('.checked').length ){
$(".hide").toggle();
}
Utilisez cette méthode:
$(document).on('ifChecked','SELECTOR', function(event){
alert(event.type + ' callback');
});