• 9,5/10 uit 136 reviews
  • Sumatra Consultant van het Jaar
  • Sinds 1994 in het Exact-ecosysteem
  • First time right ingericht en getest

Synergy · JavaScript

Keuzelijsten in een verzoek die afhankelijk zijn van elkaar

30 oktober 2021 · Marc van Rongen

Soms is het handig om keuzelijsten in een verzoek in Exact Synergy Enterprise van elkaar te laten afhangen. Voor facilitaire meldingen vraag je bijvoorbeeld eerst of het over gebouwbeheer, wagenpark of facilitair gaat. Het is dan onhandig als de keuzelijst met meldingen daarna irrelevante opties toont: de inhoud van lijst 2 moet afhangen van de keuze in lijst 1.

Daarvoor regel je twee dingen.

1. Een handige code in de velddefinitie

  • In het eerste veld: 1,Gebouwenbeheer;2,Wagenpark;3,Facilitair
  • In het tweede veld bijvoorbeeld: 101,Schade;102,Storingen;…;201,Tankpassen;…

Het eerste cijfer van de code in de tweede lijst gebruik je straks om direct te filteren op wat er in de eerste lijst gekozen is.

2. Dit script in een sectie

Let op: het script gaat uit van FreeTextField_06 en FreeTextField_10. Gebruik je andere vrije velden, vervang ze dan in het script.
<script>
$(function(){ 
$('#FreeTextField_06').change(function(){ 
if($(this).val()!="") 
var s=$(this).val(); 
$('#FreeTextField_10 option').filter("span > option").unwrap(); 
$('#FreeTextField_10 option').each(function(){ 
  var o=$(this).val().substring(0,1); 
  if(o!=s && o!=''){ 
    $(this).wrap("<span>").parent().hide(); 
    } 
  }); 
 });
}); 
</script>

Het resultaat: kies je in de eerste lijst "Wagenpark", dan toont de tweede lijst alleen nog meldingen over het wagenpark, zoals lease, tankpassen, autopech en laadpalen.