Lors de la sélection de différentes options, le type de champ de saisie peut prendre en charge une roupie à 20 chiffres avec le symbole de la roupie ou être remplacée par un pourcentage.
P粉022140576
P粉022140576 2023-08-13 18:35:32
0
1
455
<p>Si l'option est sélectionnée pour sélectionner une valeur fixe, le type de champ de saisie est la valeur en roupie et ne prend en charge que 20 chiffres avec le symbole de la roupie. Si Pourcentage est sélectionné, le symbole Roupie est remplacé par le symbole Pourcentage et le type de valeur ne comporte que 2 chiffres pour saisir la valeur sans cliquer sur le bouton </p> <p>Ce code fonctionne bien, mais je rencontre deux petits problèmes 1. Si ma page Web charge la valeur par défaut définie sur une valeur fixe (mais que la valeur d'entrée et le symbole de la roupie ne fonctionnent pas</p><p> 2. Si vous modifiez la valeur, les deux fonctionnent, mais la valeur n'est pas automatiquement réinitialisée à l'état modifié. La valeur du pourcentage n'est plus modifiée si l'utilisateur sélectionne un seul pourcentage, veuillez vérifier n'importe quelle partie de mon code Il s'agit d'un code similaire</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html> <tête> <titre>Champ de saisie</titre> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <script> $(document).ready(function() { $('#dropdown').change(function() { var selectedOption = $(this).val(); if (selectedOption === 'fixed') { $('#inputField').attr('maxlength', '20'); $('#inputField').on('input', function() { var valeur = $(this).val(); var formattedValue = ' ₹ ' + value.replace(/D/g, '').replace(/(d)(?=(d{3})+(?!d))/g, '$1,') ; $(this).val(formattedValue); }); } else if (selectedOption === 'pourcentage') { $('#inputField').attr('maxlength', '2'); $('#inputField').on('input', function() { var valeur = $(this).val(); var formattedValue = valeur.replace(/D/g, '') + '%'; $(this).val(formattedValue); }); } }); }); </script> ≪/tête> <corps> <select id="dropdown"> <option value="fixed">Valeur fixe</option> <option value="pourcentage">Pourcentage</option> </sélectionner> <input type="text" id="inputField"> </corps> </html></pre> <p><br /></p>
P粉022140576
P粉022140576

répondre à tous(1)
P粉063039990

Simplifions les choses, créons une fonction distincte et appliquons votre logique sur le champ de texte basé sur cette fonction.

Exemple :

$('#dropdown').change(function() {
  var selectedOption = $(this).val();
  check(selectedOption);
});
$('#inputField').on('input', function() {
  var selectedOption = $('#dropdown :selected').val();
  check(selectedOption);
});

function check(inp) {
  var value = $('#inputField').val();
  if (inp === 'fixed') {
    $('#inputField').attr('maxlength', '20');
    var formattedValue = '₹' + value.replace(/\D/g, '').replace(/(\d)(?=(\d{3})+(?!\d))/g, ',');
    $('#inputField').val(formattedValue);
  } else {
    $('#inputField').attr('maxlength', '2');
    var formattedValue = value.replace(/\D/g, '') + '%';
    $('#inputField').val(formattedValue);
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<select id="dropdown">
  <option value="fixed">固定值</option>
  <option value="percentage">百分比</option>
</select>
<input type="text" id="inputField">
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal