Le code efficace pour implémenter cette fonctionnalité

Dans ma page, j’ai trois champs de saisie, ” date de début “, ” date de fin ” et menu ” Couleurs “, comme suit:

  

White Black Red Green Transparent

Je voudrais avoir la fonctionnalité suivante pour cette interface utilisateur:

  1. Si la période définie par ” date de début ” et ” date de fin ” est une période passée (<= aujourd'hui), le menu déroulant " couleur ” ne doit afficher que les options “Noir” et “Blanc” .

  2. Si l’intervalle de dates définit une période future (> aujourd’hui), le menu déroulant “couleur” affiche uniquement les options “rouge” et “vert” .

  3. Si l’intervalle de dates contient les jours passés et les jours à venir, le menu déroulant “Couleur” affiche uniquement l’option ” Transparent “.

Comment implémenter ces fonctionnalités avec un code jQuery / javascript efficace et élégant?

Mon code jQuery actuel:

 $("#end_date").click(update_options()) function update_options(){ var start_date = $("#start_date").val(); var end_date = $("#end_date").val(); var startDate= new Date(start_date); var endDate= new Date(end_date); var today = new Date().setHours(0, 0, 0, 0); if(endDate < today){ $('#color').get(2,3,4).remove() } else if(startDate=today){ $('#color').get(0,1,2,3).remove() } else{ $('#color').get(0,1,4).remove() } } 

Qui semble ne pas fonctionner correctement et pas élégant

N’importe lequel de ces plugins pourrait être ce que vous cherchez.

  • Enchaîné
  • Dépendant Sélectionnez
  • Sélectionnez la chaîne
  • Sélections connexes