2012-09-26 7 views
0

J'ai une case à cocher active et une case à cocher en surbrillance.Jquery Lorsque la case à cocher 1 est cochée cocher la case 2

enter image description here

Je voudrais la case à cocher active pour vérifier automatiquement la case en surbrillance lorsque est cochée active. Je suis contre la clôture sur si explorer prop() ou faire une liaison laide qui ajoute un attribut. Je cherche en fin de compte la recommandation la plus sèche et, bien sûr, les extraits de code sont plus que bienvenus !!!

Un peu ennuyeux parce que chaque case à cocher (bien que juste à côté de eachother dans une table sont leur propre forme, qui est soumise avec ajax sur le changement.

<td> 
    <% form_for(:catalog_item, catalog_item.item, :url => set_admin_catalog_item_path(catalog_item), :html => {:class => 'ajax'}) do |f| %> 
    <%= f.check_box :active %> 
    <% end %> 
</td> 
<td> 
    <% form_for(:catalog_item, catalog_item, :url => set_admin_catalog_item_path(catalog_item), :html => {:class => 'ajax'}) do |f| %> 
    <%= f.check_box :highlight %> 
    <% end %> 
</td> 
+0

pouvez-vous afficher votre code? html? –

+0

En tirant cette branche maintenant, désolé totalement oublié d'insérer le code. Brain FART! J'ai essayé l'hélice et je n'ai pas réussi à le faire rouler. – jahrichie

Répondre

3

Cocher cette FIDDLE

$(function() { 
    $('.active').on('click', function(){ 
     $(this).next().attr('checked' , $(this).is(':checked')); 
    }); 

});​ 

Peut également utiliser

$(this).next().prop('checked' , $(this).is(':checked')); 
+0

Merci! Ajouté mon code ci-dessus. Impossible de faire fonctionner cela malheureusement – jahrichie

1

jsFiddle

Vu HTML comme:

HTML

<div id="ActHigh"> 
    <table> 
     <thead> 
      <tr> 
       <th> 
        <p> 
         Active 
        </p> 
       </th> 
       <th> 
        <p> 
         Highlight 
        </p> 
       </th> 
      </tr> 
     </thead> 
     <tbody> 
      <tr> 
       <td> 
        <input type="checkbox" name="act01" class="chk-active" /> 
       </td> 
       <td> 
        <input type="checkbox" name="hig01" class="chk-highlight" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="checkbox" name="act02" class="chk-active" /> 
       </td> 
       <td> 
        <input type="checkbox" name="hig02" class="chk-highlight" /> 
       </td> 
      </tr> 
      <tr> 
       <td> 
        <input type="checkbox" name="act03" class="chk-active" /> 
       </td> 
       <td> 
        <input type="checkbox" name="hig03" class="chk-highlight" /> 
       </td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

Vous pouvez utiliser jQuery comme:

SCRIPT

+0

Cela fonctionne presque pour moi! Cela fonctionne pour les premières cases à cocher sur la page, mais après cela ne sera pas. Un moyen pour moi de m'adapter? MERCI D'AVANCE!!! – jahrichie

+0

Tout est dans vos "sélecteurs". Voir ce [morceau API jQuery] (http://api.jquery.com/category/selectors/) pour plus d'informations précises. Longue histoire courte, si vous voulez tout saisir sur le document, utilisez simplement les classes qui leur sont associées. Cependant, j'ai utilisé l'identifiant d'une étiquette d'élément d'emballage pour donner plus de précision dans mon exemple. Cela permet un débogage plus facile si un problème survient car tout est basé sur l'INDEX des entrées. Cela signifie que vous devez conserver l'ordre dans lequel ils apparaissent dans le code HTML. – SpYk3HH

Questions connexes