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>
3 Réponses :
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 >
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;
}
jquery a une méthode de fractionnement?
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;
});