Apabila memilih pilihan yang berbeza, jenis medan input boleh menyokong rupee 20 digit dengan simbol rupee atau digantikan dengan peratusan
P粉022140576
P粉022140576 2023-08-13 18:35:32
0
1
430
<p>Jika pilihan dipilih untuk memilih nilai tetap, jenis medan input ialah nilai rupee hanya menyokong 20 digit dengan simbol rupee. Jika Peratus dipilih maka simbol Rupee digantikan dengan simbol Peratus dan jenis nilai hanya 2 digit untuk memasukkan nilai tanpa mengklik butang </p> <p>Kod saya ini berfungsi dengan baik, tetapi saya menghadapi dua masalah kecil 1. Jika halaman web saya memuatkan nilai lalai yang ditetapkan kepada nilai tetap (tetapi nilai input dan simbol rupee tidak berfungsi</p><p> 2. Jika anda menukar nilai, maka kedua-duanya berfungsi, tetapi nilai tidak ditetapkan semula secara automatik kepada keadaan yang diubah. Nilai peratusan tidak lagi berubah jika pengguna memilih satu peratusan, sila semak mana-mana bahagian kod saya Ini adalah kod serupa</p> <pre class="brush:php;toolbar:false;"><!DOCTYPE html> <html> <kepala> <tajuk>Medan input</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> <skrip> $(document).ready(function() { $('#dropdown').change(function() { var selectedOption = $(this).val(); if (selectedOption === 'tetap') { $('#inputField').attr('maxlength', '20'); $('#inputField').on('input', function() { nilai var = $(this).val(); var formattedValue = '₹' + value.replace(/D/g, '').replace(/(d)(?=(d{3})+(?!d))/g, '$1,') ; $(this).val(formattedValue); }); } else if (selectedOption === 'peratusan') { $('#inputField').attr('maxlength', '2'); $('#inputField').on('input', function() { nilai var = $(this).val(); var formattedValue = value.replace(/D/g, '') + '%'; $(this).val(formattedValue); }); } }); }); </skrip> </head> <badan> <pilih id="dropdown"> <nilai pilihan="tetap">Nilai tetap</option> <nilai pilihan="peratusan">Peratusan</option> </select> <input type="text" id="inputField"> </badan> </html></pre> <p><br /></p>
P粉022140576
P粉022140576

membalas semua(1)
P粉063039990

Mari permudahkan perkara, buat fungsi berasingan dan gunakan logik anda pada medan teks berdasarkan fungsi itu.

Contoh:

$('#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">
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan