2010-01-26 4 views
1

j'ai une liste qui contient Sharepoint quelques centaines de groupements. Certains groupes ne contiennent qu'une seule ligne et, dans ce cas, je souhaite supprimer l'en-tête de regroupement ci-dessus.Hiding 1 qui ne contient que Groupements d'élément (en) Sharepoint

Pour ce faire, je pense que je dois cacher tout le code (ci-dessous) en utilisant jQuery. Je veux faire la logique afin qu'elle cherche la partie "> ‎ (1)", et si elle trouve cela, elle cache la prise TBODY. Des idées? Pas exactement comment commencer cette .....

<TBODY id="titl1-2_" groupString=""><TR><TD colspan="100" class="ms-gb" nowrap><img src="/_layouts/images/blank.gif" alt="" height=1 width=0><a href="javascript:" onclick="javascript:ExpCollGroup('1-2_','img_1-2_');return false;"><img id="img_1-2_" src="/_layouts/images/minus.gif" alt="Expand/Collapse" border="0"></a>&nbsp;<a href="javascript:" onclick="javascript:ExpCollGroup('1-2_','img_1-2_');return false;">Grouping1</a> :&nbsp;Accurint <span style="font-weight: lighter">&#8206;(1)</span></TD></TR></TBODY> 

Répondre

0

Cela pourrait vous donner une idée:

$(document).ready(function() { 
    $("tbody[id^='tit'] .ms-gb span").each(function() { 
//console.log("'" + $(this).text() + "'"); 
if($(this).text().indexOf("(1)") > -1) 
{ 
    $(this).closest("tbody").hide(); // hides the header 
} 
    }); 
});

Ce sera plus compliquer si vos groupes sont développés bien. Je recommande de les forcer à être repliés pour éviter le problème de trouver le conteneur de tbody encore à créer pour les objets.

+0

Cela a fonctionné, merci! Alternativement, je jouais avec ceci et quelques exemples de code que j'ai et j'ai obtenu ce qui suit pour travailler. Ce pourrait être la pire façon de faire ce genre de chose, je n'en ai aucune idée. Brian

+0

sonne bien. De plus, hide() et show() sont des raccourcis vers le css ('display', ''). Le 'tbody [id^=' tit '] .ms-gb span' est fait pour avoir le moins d'éléments possibles dans le résultat, pour aider un peu à la performance –

0

qui nous avait foiré. La réponse originale a fonctionné. J'ai également joué et j'ai obtenu ce qui suit pour travailler. Ce pourrait être une manière terrible de le faire, mais cela a fonctionné d'une manière ou d'une autre avec jQuery.

<script type="text/javascript"> 
$(document).ready(function(){ 

var RowOnly = $("TBODY span:contains('(1)')").each(function(){ 
var HideParen1 = $(this); 
var HideName = $(this).parent(); 
HideParen1.css("display", "none"); 
HideName.css("display", "none"); 
}); 

}); 
</script> 
Questions connexes