Maison  >  Questions et réponses  >  le corps du texte

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>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粉022140576P粉022140576434 Il y a quelques jours401

répondre à tous(1)je répondrai

  • P粉063039990

    P粉0630399902023-08-14 14:21:09

    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">

    répondre
    0
  • Annulerrépondre