首页  >  问答  >  正文

选择不同选项时,输入字段类型可以支持20位带有卢比符号的卢比或替换为百分比

<p>如果选择选项选择固定值,则输入字段类型为卢比值仅支持20位数,带有卢比符号。如果选择百分比,则用百分比符号替换卢比符号,并且值类型仅为2位数输入值,无需点击按钮</p> <p>我的这段代码工作正常,但我遇到了两个小问题 1. 如果我的网页加载默认值设置为固定值(但输入值和卢比符号不起作用</p><p> 2. 如果更改值,然后同时工作,但值不会自动重置为更改状态。如果用户选择单个百分比,则不再更改百分比值,请检查我的任何一段代码 这是类似的代码</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html> <head> <title>输入字段</title> <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 value = $(this).val(); var formattedValue = '₹' + value.replace(/D/g, '').replace(/(d)(?=(d{3})+(?!d))/g, '$1,'); $(this).val(formattedValue); }); } else if (selectedOption === 'percentage') { $('#inputField').attr('maxlength', '2'); $('#inputField').on('input', function() { var value = $(this).val(); var formattedValue = value.replace(/D/g, '') + '%'; $(this).val(formattedValue); }); } }); }); </script> </head> <body> <select id="dropdown"> <option value="fixed">固定值</option> <option value="percentage">百分比</option> </select> <input type="text" id="inputField"> </body> </html></pre> <p><br /></p>
P粉022140576P粉022140576434 天前397

全部回复(1)我来回复

  • P粉063039990

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

    让我们简化事情,创建一个单独的函数,并基于该函数在文本字段上应用您的逻辑。

    示例:

    $('#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">

    回复
    0
  • 取消回复