Comment append et supprimer un atsortingbut requirejs avec une bascule

Mes utilisateurs ont access à un formulaire.

Pour simplifier la tâche, je mets une liste de sélection, mais si la réponse ne figure pas dans la liste, ils peuvent append une raison manuellement.

La liste de sélection est requirejse par défaut, mais si l’utilisateur accède au champ de texte, elle devient obligatoire et la liste n’est plus requirejse (et inversement).

HTML:

Select 1 2 3 4 5
Other

JS:

 $('input[name="messagetick"]').click(function() { $('#motif-reject').toggle(this.checked); }); 

Vous pouvez voir le JsFiddle: https://jsfiddle.net/rkkdhant/

Je ne sais pas comment faire avec une bascule, pouvez-vous m’aider?

Vous pouvez utiliser le même booléen que vous utilisez pour toggle la zone de texte: this.checked . Définissez ensuite la propriété required sur votre sélection de motif-text et votre motif-text comme suit:

 $('input[name="messagetick"]').click(function () { $('#motif-reject').toggle(this.checked); $("textarea[name='motif-text']").prop("required", this.checked); $("select[name='motif']").prop("required", !this.checked); }); 

Veuillez essayer l’extrait suivant:

 $('input[name="messagetick"]').click(function () { $('#motif-reject').toggle(this.checked); $("textarea[name='motif-text']").prop("required", this.checked); $("select[name='motif']").prop("required", !this.checked); console.log("Checkbox check: " + this.checked); console.log("Textarea required: " + $("textarea[name='motif-text']").prop("required")); console.log("Select required: " + $("select[name='motif']").prop("required")); console.log("----------------------------------"); }); 
  
Other

Html:

 
Other

JS:

 if(!$('#messagetick2').is(':checked')){ $("select").prop('required',true); } $('input[name="messagetick"]').click(function() { $("select").prop('required',false); $('#motif-reject').toggle(this.checked); $("textarea").prop('required',true); }); 

Peut peut faire une vérification où il est sélectionné ou non. Et rendre requirejs vrai et faux sur la base de cette vérification.

Essayez ceci JSFIFFLE

  $('input[name="messagetick"]').click(function() { $('#motif-reject').toggle(this.checked); if ($("#messagetick2").is(":checked")) { $('#motif').prop('disabled', 'disabled'); $('#motif').prop('required', ''); }else{ $('#motif').prop('disabled', ''); $('#motif').prop('required', 'required'); } });