2009-09-28 7 views
0

J'utilise JQuery 1.3.2 et ont le code suivant -problème Jquery sélectionner tous les éléments d'une table

Mon html est -

<table class="disableClass" id="formOptionsPreview"> 
<%--Spacing Row, this row exists solely to make the table columns size correctly --%> 
<tr id="formOptionsPreviewRow"> 
    <td style="width: 130px; border-style: none"> 
     &nbsp; 
    </td> 
    <td style="width: 90px; border-style: none"> 
.... 
    </td> 
</tr> 
</table> 

Mon code est Jquery -

<script type="text/javascript"> 
    $(".disableClass").contents().andSelf().attr('disabled', 'disabled'); 
</script> 

Ce que j'essaie de faire est de désactiver tous les éléments d'entrée dans la table. J'ai un mode viewonly pour l'écran et la chose la plus simple que je peux faire est de désactiver (ou de rendre readonly) tous les champs d'entrée.

Dans IE8, ce code fonctionne exactement comme prévu. Tous les éléments sont désactivés. Cependant, dans FF3.5.2, seule la table et la ligne de la table externe sont désactivées. Dans FF, il semble que cela ne cherche qu'un seul niveau dans l'arbre DOM.

Toute suggestion concernant ce que je fais de façon incorrecte.

Répondre

0

Cet extrait désactive tous les champs d'entrée qui font partie de la table formOptionsPreview:

$('#formOptionsPreview :input').attr('disabled', true); 

ou alternativement toutes les tables avec la classe disableClass:

$('table.disableClass :input').attr('disabled', true); 
+0

exactement comme Travaillé je voulais. MERCI. –

0

Vous pouvez essayer

console.log($(".disableClass").contents().andSelf().length()); 

pour déterminer si FF est de trouver tous les éléments dom. Si c'est le cas, vous savez que FF ne gère pas la propriété CSS désactivée de la même manière qu'EI.

Questions connexes