2012-01-21 15 views
5

Używam jQuery 1.7.1 i jQuery maskedinput 1.3 w mojej aplikacji ASP.NET MVC 3.Jak poprawnie ustawić maskę dziesiętną przy użyciu jQuery MaskedInput 1.3

W jaki sposób ustawić maskowany element, który akceptuje wartość dziesiętną (dziesiętna 10,2). Co mam prace, ale wygląda okropnie:

$('#AnnualIncome').mask('9?9999999.99', { placeholder: ' ' }); 

Kiedy idę do mojej strony i kliknij na polu tekstowym to istnieje przestrzeń dla wartości liczbowych z. dalej dla części dziesiętnej. To wygląda okropnie i wygląda na to, że nie działa dobrze. Wpisuję 9 dla lewej części liczby dziesiętnej, a następnie 99 dla prawej części liczby dziesiętnej. Więc jeśli pole tekstowe ma jeszcze ostrość to wygląda mniej więcej tak:

9___________.99 

nie chcę go tak, chcę użytkownika, aby być w stanie wpisać po przecinku zawsze i chcę coś takiego:

9.99 

Ponadto, jeśli pole tekstowe traci ostrość, a następnie to teraz wygląda:

999 

muszę go wyświetlić:

9.99 

Czy ktoś może mi pomóc ustawić to poprawnie?

Odpowiedz

8

Urządzenie Masked Input jQuery Plugin jest przeznaczone do wprowadzania na stałe o stałej szerokości, podobnie jak formatowanie numerów telefonów. Zobacz np. zamiast tego: numeric Plugin lub autoNumeric Plugin.

+0

Czy pracowałeś z tą liczbową wtyczką dla ułamków dziesiętnych? –

+0

Przykro mi, zapomniałem, że chciałeś również ograniczyć liczbę miejsc dziesiętnych. Zaktualizuję moją odpowiedź ... –

1

Urządzenie Masked Input jQuery Plugin może być skonfigurowane do obsługi miejsc dziesiętnych o zmiennej szerokości.

Po pierwsze dodać definicję maski, które obsługuje się z lokalnym separator miejsca po przecinku lub znaków numerycznych:

$.mask.definitions['d'] = '[0-9.]'; 

Następnie zdefiniować maskę:

$('#AnnualIncome').mask('9?dddddddd', ' '); 

Miejsca dziesiętne są opcjonalne i nie można kontrolować liczbę miejsca dziesiętne, ale nadal przydatne w niektórych scenariuszach i zapisuje dodanie innej wtyczki.

Powiązane problemy