|
Publicité | ||||||||||||||||||||||
|
|
#1 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
Bonsoir a tous,
Voici mon probleme sur lequel je planche depuis 2h..!!! je génère un tr avec javascript : Code :
var tr = "<tr class='vossers-filterrow'>" + tdset + "</tr>"; Sous opera, firefox, j'arrive a le récupérer ainsi: Code :
function MaskFilter() { var list_tr = document.getElementsByTagName('tr'); for(var i=0; i<list_tr.length; i++) { if(list_tr[i].className == "vossers-filterrow") list_tr[i].style.display="none"; } } dans les 2 cas, je n'arrive meme pas a voir l'élément avec iedevtoolbar.. help plzzz |
|
|
|
|
#2 (permalink) | |
![]() Date d'inscription: janvier 2007
Messages: 7 439
|
Bonjour,
Citation:
=> le contenu de tdset et les instruction d' "insertion" En fait la fonction complète serait souhaitable A+ |
|
|
|
|
|
|
#3 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
voila le script utilisé que j'éssai de décortiquer
Code :
// SharePoint InstantListFilter - developed by Jaap Vossers $(document).ready(function() { jQuery.extend(jQuery.expr[':'], { containsIgnoreCase: "(a.textContent||a.innerText||jQuery(a).text()||'').toLowerCase().indexOf((m[3]||'').toLowerCase())>=0" }); $("table.ms-listviewtable tr.ms-viewheadertr").each(function() { if($("td.ms-vh-group", this).size() > 0) { return; } var tdset = ""; var colIndex = 0; $(this).children("th,td").each(function() { if($(this).hasClass("ms-vh-icon")) { // attachment tdset += "<td></td>"; } else { // filterable tdset += "<td><input type='text' class='vossers-filterfield' filtercolindex='" + colIndex + "' /></td>"; } colIndex++; }); var tr = "<tr class='vossers-filterrow'>" + tdset + "</tr>"; $(tr).insertAfter(this); // var list_tr = document.getElementsByTagName('tr'); // for(var i=0; i<list_tr.length; i++) // { // if(list_tr[i].className == "ms-viewheadertr") // list_tr[i].parentElement.insertBefore(tr,list_tr[i].nextSibling); // } }); $("input.vossers-filterfield") .css("border", "1px solid #7f9db9") .css("width", "100%") .css("margin", "2px") .css("padding", "2px") .keyup(function() { var inputClosure = this; if(window.VossersFilterTimeoutHandle) { clearTimeout(window.VossersFilterTimeoutHandle); } window.VossersFilterTimeoutHandle = setTimeout(function() { var filterValues = new Array(); $("input.vossers-filterfield", $(inputClosure).parents("tr:first")).each(function() { if($(this).val() != "") { filterValues[$(this).attr("filtercolindex")] = $(this).val(); } }); $(inputClosure).parents("tr.vossers-filterrow").nextAll("tr").each(function() { var mismatch = false; $(this).children("td").each(function(colIndex) { if(mismatch) return; if(filterValues[colIndex]) { var val = filterValues[colIndex]; // replace double quote character with 2 instances of itself val = val.replace(/"/g, String.fromCharCode(34) + String.fromCharCode(34)); if($(this).is(":not(:containsIgnoreCase('" + val + "'))")) { mismatch = true; } } }); if(mismatch) { $(this).hide(); } else { $(this).show(); } }); }, 250); }); }); |
|
|
|
|
#4 (permalink) | |
![]() Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 580
|
Personnellement je m'entête à passer par le DOM pour crée des éléments sur une page ...
ça m'évite juste ce genre de déconvenues http://www.developpez.net/forums/d47...us-rapidement/
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) Citation:
Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag ![]() réalisations web (developpeur et/ou infographiste et/ou chef de projet: www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr |
|
|
|
|
|
#5 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
Effectivement, j'ai déjà essayer d'une maniere similaire avec ce code :
Code :
var list_tr = document.getElementsByTagName('tr'); for(var i=0; i<list_tr.length; i++) { if(list_tr[i].className == "ms-viewheadertr") list_tr[i].parentElement.insertBefore(tr,list_tr[i].nextSibling); } |
|
|
|
|
#6 (permalink) | |
![]() Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 580
|
tu précises le tbody ?
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) Citation:
Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag ![]() réalisations web (developpeur et/ou infographiste et/ou chef de projet: www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr |
|
|
|
|
|
#7 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
comment ça? le tbody existe déjà.
Je suis un peu perdu, j'ai tenté quelque chose mais sans résultat, je ne vois toujours pas la ligne dans iedevtoolbar et le code ne doit pas etre bon car je n'ais pas de le résultat attendu.. Code :
// Création des éléments de la ligne de filtre var tr=document.createElement('tr'); var td_empty=document.createElement('td'); var td_full=document.createElement('td'); var td_input=document.createElement('input'); td_input.setAttribute('type','text'); td_input.setAttribute('class','vossers-filterfield'); td_input.setAttribute('filtercolindex','vossers-filterfield'); td_full.appendChild(td_input); var colIndex = 0; $(this).children("th,td").each(function() { if($(this).hasClass("ms-vh-icon")) { // attachment //tdset += "<td></td>"; tr.appendChild(td_empty); } else { // filterable //tdset += "<td><input type='text' class='vossers-filterfield' filtercolindex='" + colIndex + "' /></td>"; td_input.setAttribute('filtercolindex',colIndex); td_full.replaceChild(td_input,td_input); tr.appendChild(td_full); } colIndex++; }); //var tr = "<tr class='vossers-filterrow'>" + tdset + "</tr>"; // Insertion DOM // On récupere la premiere ligne de la liste (le header) var list_tr = document.getElementsByTagName('tr'); for(var i=0; i<list_tr.length; i++) { if(list_tr[i].className == "ms-viewheadertr") list_tr[i].parentElement.insertBefore(tr,list_tr[i].nextSibling); } //$(tr).insertAfter(this); }); |
|
|
|
|
#8 (permalink) | |
![]() Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 580
|
il faut appender un tr dans le tbody
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) Citation:
Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag ![]() réalisations web (developpeur et/ou infographiste et/ou chef de projet: www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr |
|
|
|
|
|
#9 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
Code :
list_tr[i].parentElement.insertBefore(tr,list_tr[i].nextSibling); EDIT : faut-il spécifier à la nouvelle ligne Code :
display: table-row Dernière modification par HeB91 ; 07/12/2009 à 11h05. |
|
|
|
|
#10 (permalink) | |
![]() Date d'inscription: mars 2002
Localisation: Au coeur de la Nébuleuse de la Rainette
Messages: 22 580
|
mmmh du coup je me demande sur quoi pointe le nextSibling ...
il faut se mefier du nextSibling, l'interprétation des nodes etant differentre d'un browser à l'autre
__________________
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts ) Citation:
Votre post a trouvé une réponse qui vous satisfait ? Alors n'oubliez pas le Tag ![]() réalisations web (developpeur et/ou infographiste et/ou chef de projet: www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.sistac-alizay.fr | www.planet-languages.com | www.acoustishop.fr | www.litt.fr |
|
|
|
|
|
#11 (permalink) |
|
Membre du Club
![]() Nom : N A
Date d'inscription: novembre 2009
Messages: 84
|
Bon, mon réel probleme était de n'éxécuter ce script que dans une seule page.
Car c'est une features que j'ai déployé et qui s'applique à toutes les pages.. J'ai réglé mon probleme autrement et d'ailleur c'était la meilleure façon je pense (au lieu de récupérer la ligne inséré et de l'a cacher sur les pages dont je ne voulais pas m'en servir). J'ai juste laissé dans le head de la masterpage l'appel au script jquery et j'ai créer un editeur de contenu sur la page pour insérer la ligne avec le code javascript. Merci de tes réponses! |
|
|
|
|
![]() |
||
[IE]getElement sur ie
|
||
| Outils de la discussion | |
|
|