info:limesurvey:earlybird

Afficher une liste déroulante en retirant des valeurs en fonction de la date si délai dépassé (earlybird/late)

Défi:

On souhaite retirer des options d'une liste en fonction de la date - p. ex. des prix “earlybird” si la date est dépassé, pour ne plus afficher que les prix “late”

Solution: bidouillage JS

Créer les options et afficher leur ID au moyen de l'inspecteur de code F12 (ou en affichant le code source)

Une fois les ID récupérés, adapter le script infra - en changeant aussi bien sûr les dates!

Et le placer en code-source dans la question

<script>
var date = new Date().getTime();
var early=new Date(2019,07,01).getTime();
var regular=new Date(2018,09,16).getTime();
 
var ecartearly=(early-date);
var ecartregular=(regular-date);
alert("Current date: " +date +"\nEarly: " +early +"\nRegular: " +regular +"\necartearly: " +ecartearly +"\necartregular: " +ecartregular);
 
if(ecartearly<0){
 document.getElementById("javatbd116526X18X47all").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a1").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a3").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a4").style.display = "none"; 
}
if(ecartregular<0){
 document.getElementById("javatbd116526X18X47all").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a1").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a3").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a4").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a8").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a7").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a6").style.display = "none"; 
 document.getElementById("javatbd116526X18X47a5").style.display = "none"; 
}
 
</script>
  • info/limesurvey/earlybird.txt
  • Dernière modification: 2020/03/04 08:58
  • de radeff