2013-07-10 27 views
6

İnsanlara kar amacı gütmeyen bir para vermek ve para kullanımını belirtmelerine izin vermek için bir bağış sayfası oluşturmaya çalışıyorum. Vericilerin, miktarları girdikçe her bir alana koydukları miktarları toplamalıyorum. Her alana bir giriş maskesi eklemeye çalışıyorum, ancak bu yalnızca JavaScript çökmemimi yapıyor ve hiçbir şey yapmıyor.jQuery Giriş Maskesi Çalışmıyor

<script src="/js/jquery.js"></script> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     var calcTot = function() { 
      var sum = 0; 
      $('.toTotal').each(function(){ 
       sum += Number($(this).val()); 
       }); 
      $('#giveTotal').val('$' + sum.toFixed(2)); 
     } 

     calcTot(); 

     $('.toTotal').change(function(){ 
      calcTot(); 
      }); 
     }); 
</script> 

'toTotal' yukarı eklenmesi gerekir tüm giriş kutuları verilen sınıf adı edilir;: Burada herhangi maskeleri önce mükemmel çalışıyor şu anda var kodudur Bu da maskeye ihtiyaç duyan sınıftır. 'giveTotal', toplam alanın kimliğidir.

StackOverflow ve diğer siteler üzerinde bulduğum çeşitli varyasyonları denedim.

Tam Kod:

<html> 
<head> 
    <script src="/js/jquery.js"></script> 
    <script type="text/javascript"> 
     $(document).ready(function() { 

      //This is one of the masking codes I attempted. 
      $('.toTotal').mask('9.99', {reverse: true}); 

      //other options I have tried: 
      //$('.toTotal').mask('9.99'); 
      //$('.toTotal').mask('0.00'); 
      //$('.toTotal').inputmask('9.99'); 
      //$('.toTotal').inputmask('mask', {'mask': '9.99'}); 

      var calcTot = function() { 
       var sum = 0; 
       $('.toTotal').each(function(){ 
        sum += Number($(this).val()); 
        }); 
       $('#giveTotal').val('$' + sum.toFixed(2)); 
      } 
      calcTot(); 

      $('.toTotal').change(function(){ 
       calcTot(); 
       }); 

      //I have tried putting it here, too 

      }); 
    </script> 

    <title>Addition</title> 
</head> 
<body> 
<input type="text" class="toTotal"><br /> 
<input type="text" class="toTotal"><br /> 
<input type="text" class="toTotal"><br /> 
<input type="text" id="giveTotal"> 
</body> 
</html> 
+0

hataya neden olan maske kodunu sağlayabilir:

Ardından 'jquery.js' satırdan sonra aşağıdaki komut referans ekleyin? –

+0

Dediğim gibi birçok çeşit denedim. Umduğumu umduğum şey "$ ('. ToTotal'). Mask ('000,000.00', {reverse: true});' idi. Aynı zamanda, '.inputmask'ı, {reverse: true}' olan ve olmayan ve 0'lar yerine 9'ları kullandığımı bulduğum varyasyonları denedim. Yerleşim de bir sorun olabilir mi bilmiyorum. İlk seçeneğim, bu kodu "var calcTot = function() {' önce satırın üzerine koymaktı. Ben de hazır fonksiyonun sonunda ve ortasında onu denedim. – Andrew

+0

Belirli bir problem görmeden cevap verilemediği için soruda tam bir kod örneği verebilir misiniz? Bunu görmeden düşünebildiğim tek çözüm, Maske Eklentisi komut dosyalarının dahil edilmemesiydi. –

cevap

7

örnek kod referans verilen bir maskeleme kütüphane komut yoktur. Digital Bush Masked Input Plugin Script'u indirip JS klasörünüze kopyalamanız gerekiyor.

<script src="/js/jquery.maskedinput.min.js"></script> 
+0

Teşekkür ederim! Kaybettiğim inanılmaz derecede küçük bir şey olması gerektiğini biliyordum. – Andrew