menuHaut

Supprimer une valeur d’une liste déroulante lors de l’affichage

Lors de l’implémentation de certaines listes statiques de valeurs sous Coheris CRM, il peut arriver qu’une valeur de cette liste ne soit pas à afficher à l’utilisateur lors de la génération de l’écran. La plupart du temps un simple filtre peut résoudre cette demande. Néanmoins, il peut s’avérer que le paramétrage d’un filtre ne soit pas possible en standard. Il faut alors avoir recours à un javascript spécifique afin d’ôter la valeur souhaitée.

Je vous propose la fonction suivante que je place généralement sur le champ « event » de la liste en l’appelant via un onLoad. Elle permet de supprimer la Xe valeur (node) sur le champ « fieldId » si la longueur de la liste (listLenght) est celle définie en entrée.

function deleteListOption(fieldId,node,listLenght)
{
  try
  {         
    var myList = document.getElementById(fieldId);
    var nodeList = myList.getElementsByTagName("option");
    var lnodeList = nodeList.length;
    if (lnodeList == listLenght)
    {
      myList.removeChild(nodeList.item(node));
    }
  }
  catch(e){}
}

Il est important de tester la longueur de la liste (ou la valeur voulue) sinon lors du rechargement de la page, la liste se verra systématiquement amputée du Xe élément …

, , ,

One Response to Supprimer une valeur d’une liste déroulante lors de l’affichage

  1. cedric 9 octobre 2011 at 18 h 06 min #

    il est également possible de faire nodeList[node] = null mais le résultat peut ne pas être garanti en fonction du navigateur…

Laisser un commentaire

Powered by WordPress. Designed by Woo Themes