2010-10-22 6 views
0

J'ai quatre cases à cocher et quand je clique sur plus de deux d'entre elles, alors sous la dernière case à cocher je dois obtenir un <div><a href="#">Compare</a> </div> contient un lien de comparaison. Cela peut être aléatoire. J'ai essayé de le faire en utilisant JQuery et ci-dessous est mon code. J'ai besoin d'améliorer un. Le problème est que j'ai besoin quand deux de case à cocher va vérifier sous le dernier je devrais voir la div cachée.Jquery Checkbox

$(document).ready(function() { 
    $('input[type=checkbox]').change(function(){ 
    if($('input[name=checkbox1]').size() == 1){  
     $('#checkbox1_compare').show(); 
    } 
    else { 
     $('#checkbox1_compare').hide();  
    } 
    }) 
}); 
+0

Si vous pouvez nous montrer la case à cocher et comparer lien dans le même code HTML alors nous pourrions mieux vous aider dans la façon dont votre JavaScript doit être modifié . –

Répondre

1

Vous pouvez vérifier la .length et utiliser .toggle() pour afficher/cacher en fonction du nombre sont vérifiés, comme cela devrait fonctionner:

$(function() { 
    $('input[type=checkbox]').change(function(){ 
    $('#checkbox1_compare').toggle($('input[name=checkbox1]').length > 1); 
    }); 
}) 

Si vous devez déplacer les éléments div/lien à après le dernier vérifié un, quelque chose comme ça fonctionnerait:

$(function() { 
    $('input[type=checkbox]').change(function(){ 
    var checked = $('input[name=checkbox1]:checked'); 
    $('#checkbox1_compare').toggle(checked.length > 1) 
          .insertAfter(checked.last()); 
    }); 
}) 
+0

Non, il y a quatre cases à cocher et quatre divisions en dessous. Nous ne pouvons pas déplacer les divs uniques. Donc, soit ou afficher shoud. – user484156

+0

@user - Je ne comprends pas votre commentaire, pouvez-vous poster le balisage complet? –

+0

Nick Je ne reçois aucune erreur lors de l'ecxuting de votre JQuery. – user484156

0

essayez ceci: (prise sur la base de la source Craver @ Nick)

html:

<div id="link-compare"><a href="#">Compare</a></div> 

js:

$(document).ready(function() { 

    var refInputCheckbox = $('input[type="checkbox"]'); 

    $(refInputCheckbox).change(function(){ 

    $('#link-compare') 
     .toggle(
      $(refInputCheckbox).filter(':checked').length > 1 
     ); 

    }); 


});