2017-02-28 2 views
0

Ich habe einen dynamischen Eingabetyp mit einer Klasse von ganzen Zahlen, aber es tut nicht, und es funktioniert nicht. Wenn ich es nicht dynamisch bevölkere, funktioniert es.Dynamischer Eingabetyp Text funktioniert nicht Jquery

Hier ist der Code

$(function(){ 
    $.integer = function(e){ 
     var arr = "1234567890"; 
     var code; 
     if (window.event) 
      code = e.keyCode; 
     else 
      code = e.which; 
     var char = keychar = String.fromCharCode(code); 
     if (arr.indexOf(char) == -1){ 
      return false; 
     } 
    }; 

    $(".integer").on('keypress blur', function(e){ 
     return $.integer(e); 
    }); 



}); 

Es funktioniert, wenn es nicht dynamisch ist, alles, was ich tun musste, ist eine Klasse integer hinzuzufügen.

<input type="text" class="integer"> 

habe ich auch diesen Code .on() Methode in jquery und es tatsächlich Warnungen aber ich kann andere Zeichen neben „1234567890“ eingeben.

 $('#table').on('keyup blur change', '.integer', function(e){ 
    alert('asdf'); 
return $.integer(e); 
    }) 
+0

Was Sie KeyChar mit Zeile 'var char = = String.fromCharCode (Code achive tun wollen); '? Was passiert, wenn Sie 'var char = String.fromCharCode (code) verwenden;'? – reporter

Antwort

1

es funktioniert fine.check hier: -

$('#table').append('<input type="text" class="integer">');// dynamically added input-box 
 

 
$(".integer").on('keypress blur', function(e){ 
 
    return $.integer(e); 
 
}); 
 

 
$(function(){ 
 
    $.integer = function(e){ 
 
     var arr = "1234567890"; 
 
     var code; 
 
     if (window.event) 
 
      code = e.keyCode; 
 
     else 
 
      code = e.which; 
 
     var char = keychar = String.fromCharCode(code); 
 
     if (arr.indexOf(char) == -1){ 
 
      return false; 
 
     } 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div id = "table"></div>

+0

Danke. Es funktioniert jetzt. – Rbex

+0

@Rbex froh, Ihnen zu helfen. :) :) –

Verwandte Themen