0
votes

comment ajouter / mettre à jour le paramètre d'url lors du changement de l'option de sélection?

J'ai 1 boîte d'option sélectionnez , en ce sens que j'ai 3 options, si l'utilisateur sélectionne une option, alors dans l'url, la valeur particulière de cette option doit être ajoutée comme ( value = needbyDate code >) et quand je sélectionne une autre option, quelle que soit la valeur de l'option dans l'url sélectionnée précédemment, elle devrait être remplacée par une nouvelle valeur d'option. aide gentillement. pour l'instant, avec mon code, toutes les valeurs sont ajoutées les unes après les autres, mais selon les attentes, une seule valeur doit être ajoutée à la fois.

<!DOCTYPE html>
<html>
  <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script>
      $("#optionbox1").change(function() {
        var optionValue = $(this).val();
        if (window.location.href.indexOf("?") > 0) {
          window.location += "options added=" + optionValue;
        } else {
          window.location += "?options added=" + optionValue;
        }
      });
    </script>
  </head>
  <body>
    <select id="optionbox1">
      <option value="needbyDate">needbyDate</option>
      <option value="needbyNumber">needbyNumber</option>
      <option value="needbyPOnumber">needbyPOnumber</option>
    </select>
  </body>
</html>


0 commentaires

3 Réponses :


1
votes

Vous pouvez diviser l ' url avec ? et utiliser la chaîne du premier index :

$("#optionbox1").change(function() {
    var optionValue = $(this).val();
    var url = window.location.href.split("?")[0];
    if (window.location.href.indexOf("?") > 0) {
      window.location = url + "options added=" + optionValue;
    } else {
      window.location = url + "?options added=" + optionValue;
    }
});

p >


0 commentaires

0
votes

Comprenez votre inquiétude. J'ai fait un changement de ligne qui vous aide à répondre à vos exigences. J'ai utilisé ici split () de jQuery.

I've mentioned the change in bold. Please find change as below.


if (window.location.href.indexOf("?") > 0) {
          ***window.location  = window.location.href.split('?')[0] + "?options added=" + optionValue;***
} else {
          window.location += "?options added=" + optionValue;
}


1 commentaires

jquery a une méthode de fractionnement?



0
votes

Utilisez simplement ceci sans utiliser la vérification "?".

$("#optionbox1").change(function() {
  var optionValue = $(this).val();
  var url = [location.protocol, '//', location.host, location.pathname].join('');
window.location = url+"?options added=" + optionValue;
});


0 commentaires