2009-09-05 5 views

Répondre

1

Je fini par écrire mes propres extensions à Prototype pour le faire. Vous pouvez les voir on Github. Voici une note du projet:

"Ces extensions vous permettent d'utiliser la syntaxe pratique $ F() de Prototype pour obtenir et définir les valeurs de ces éléments d'entrée groupés, testés avec Prototype 1.6.0.3 et 1.6. 1. Il y a aussi d'autres bits dans ces extensions, voyez le README.html file pour plus de détails. " Les réponses de seengee et Los sont très appréciées, mais je voulais une solution plus intégrée qui me permettrait de travailler avec des cases à cocher et des boutons radio avec la syntaxe naturelle $ F() que j'utilise déjà avec d'autres éléments de formulaire.

9

Vous pouvez toujours faire quelque chose comme ceci: (suppose que vous avez vos cases à cocher ont une classe de checkboxes).

var checkedList = []; 
$$('.checkboxes').each(function(ele){ 
    if($(ele).checked) 
    { 
     checkedList.push($(ele).name); 
    } 
}); 
6

modifier - viens juste de réaliser que je mal lu la question, le code ci-dessous seulement bon pour les valeurs de réglage:

var form = $('options'); 
checkboxes = form.getInputs('checkbox'); 
checkboxes.each(function(e){ e.checked = 0 }); 
// or even checkboxes.invoke('checked',0); 

pourrait peut-être utiliser quelque chose comme ça si:

var cels = new Array(); 
$$('checkbox[checked="checked"]').each(el){ 
    cels.push(el.value); 
} 
0

Compte tenu HTML:

<label><input type="radio" id="choiceA" name="choices" value="A" checked="checked" /> A</label> 
<label><input type="radio" id="choiceB" name="choices" value="B" /> B</label> 

Cela fait un des styles CSS requête et renvoie la valeur pour tous les éléments.

$$('input:checked[type="radio"][name="group-name"]').pluck("value"); 
4

Ceci est uniquement pour les boutons radio, mais toujours utile.

Get

$$('input:checked[name="radio_name"]')[0].value 

Set

$$('input[name="radio_name"][value="to_select"]')[0].checked = true 

"radio_name" est le nom de votre groupe de radio. "to_select" est la valeur que vous voulez sélectionner. Le "[0]" fonctionne parce qu'un seul bouton radio peut être vérifié à la fois.

D'un côté, je n'aime pas le prototype. Beaucoup plus facile dans jQuery, mais tu dois utiliser ce que tu dois utiliser.

Questions connexes