faire des cases à cocher de se comporter comme des boutons radio

Veuillez voir ceci: http://gisdev.clemson.edu/fireflies

Vers le haut à droite sont trois cases et je suis en train de faire leur travail comme des boutons radio. Une partie de la programmation est un travail, mais voici quelque chose qui est problématique:

D'abord, le " pays de la case est cochée. Et si je devais cliquer sur "Hydrique du Sol Notation de la" case à cocher et puis cliquez de nouveau sur les Comtés case Hydrique case reste cochée. La console n'est pas sortie du tout, ce qui signifie la valeur de checkboxes_controls variable est perdu lorsque le problème se produit.

Voici le code pertinent:

var checkboxescontainer = document.querySelectorAll('.leaflet-control-layers-overlays');
var checkboxes_controls = checkboxescontainer[0].children;

$(checkboxes_controls).each(function() 
{
    console.log($.trim($(this).text()));
    if (eventtype === 'add') 
    {
        if (layername === $.trim($(this).text()))  
        {
            //don't do anything but uncheck all others--making them work like radio buttons
        }
        else 
        {
            $(this).find('input:checkbox').attr('checked', false);
        }
    }   
}); 

Une idée?

Modifier je vois le problème: en Cliquant sur les Comtés de la couche, la deuxième fois pour sélectionner qui n'est pas encore le feu de la couche 'Ajouter' événement, car je ne suis que l'envoi de l'couches du dos et du devant. Hmmmm.

  • Qu'est-ce que eventtype et layername censé être? Merci de poster votre code (HTML)
  • J'ai posté un "modifier"; voir que. Mon problème est que les couches ne sont pas vraiment être retirés à la première place. Merci.
  • Pourquoi ne pas simplement utiliser les boutons radio? Je dirais à l'aide de cases à cocher boutons radio est mauvaise INTERFACE utilisateur.
  • Taylor: j'aimerais utiliser des boutons radio, mais ne peut pas trouver quoi que ce soit dans Leaflet.js api qui me permettrait d'utiliser les boutons radio pour fonctionner dans mon cas. Merci.
  • Mais votre page a déjà des boutons radio n'est-ce pas?
  • Oui, c'est fait, pour la "base" de la couche de contrôle; et non pas pour le "overlay" contrôles. De toute façon, j'ai uniquement mise à jour de cette page avec une approche légèrement différente: en fait j'ai eu besoin de les cases d'être mutuellement exclusifs, mais, à la différence des boutons radio, toutes les cases nécessaires pour être sélectionnable. La "Réponse" aurait aidé moi sauf que je ne peux pas l'utiliser dans ma page.
  • Double Possible de jQuery: faire des cases à cocher agissent comme des boutons radio?
  • Exemple de travail de cases à cocher utilisés comme des boutons radio ici: jsfiddle.net/54RCF

InformationsquelleAutor IrfanClemson | 2014-05-07