J'ai le code suivant:
$( "#multipleOptions" ).change(function() {
if (this.selectedOptions.length <= 3) {
var multipleOptions = [0];
if ($(this).val()){
multipleOptions = $(this).val();
}
var postData = { "multipleOptions": multipleOptions }
$.ajax(url = "/app/"+multipleOptionsId+"/",
type="PATCH",
data=postData,
success=function(resp){
notify("Multiple Options update was successful", "success");
},
error=function(){
alert("Could not save", "error");
}
);
} else {
alert("You can only select a maximum of three options");
}
});
Ici, je dois limiter le nombre d'options à trois. Maintenant, d'après ce que j'ai écrit, il n'envoie pas plus de trois options au backend, mais le problème est qu'il affichera des options supplémentaires lorsqu'il sera sélectionné dans la boîte de sélection avec le message d'alerte s'il y a plus de trois options. Comment puis-je ne pas afficher l'option supplémentaire et uniquement le message d'alerte ?
D'après le commentaire de @freedomn-m , voici comment je l'ai fait fonctionner :
var multipleOptionsVar;
$( "#multipleOptions" ).change(function() {
if (this.selectedOptions.length <= 3) {
var multipleOptions = [0];
if ($(this).val()){
multipleOptions = $(this).val();
multipleOptionsVar = multipleOptions;
}
var postData = { "multipleOptions": multipleOptions }
$.ajax(url = "/app/"+multipleOptionsId+"/",
type="PATCH",
data=postData,
success=function(resp){
notify("Multiple Options update was successful", "success");
},
error=function(){
alert("Could not save", "error");
}
);
} else {
$(this).val(multipleOptionsVar);
$(this).trigger("change.select2");
alert("You can only select a maximum of three options");
}
});
window.onload = function(e) {
multipleOptionsVar = $( "#multipleOptions" ).val();
}
Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.
En cas d'infraction, veuillez [email protected] Supprimer.
laisse moi dire quelques mots