2012-12-19 16 views
15

Strony MVC z kulturą w zależności od użytkownika. W opcji wyszukiwania (wyszukiwanie może być wykonane przez DueDate), muszę mieć maskę w tym polu tekstowym DueDate. Maska musi być zależna od kultury użytkownika. Zarówno w js, jak i cshtml występuje błąd: mask.split is not a function. Zmieniono moją jquery.maskedinput-1.2.3.js z make.split na make.toString() .split i błąd zniknął, ale musi wyglądać tak: [object Object] lub ma kilka numerów 01. Dowolny pomysł? Kod w cshtml wygląda następująco:Konieczność posiadania maski daty w zależności od kultury w jquery

<script type="text/javascript"> 
    $(function() { 
     var maskFormat = @Html.CurrentDateMask(); 
     $(".DateBox").mask(maskFormat); 
    }); 
    </script> 
+3

co zwróci '@ Html.CurrentDateMask()'? Myślę, że chcesz go jako ciąg: 'var maskFormat =" @ Html.CurrentDateMask(); ";, aby utworzyć ciąg znaków Javascript. – voigtan

+0

zwraca łańcuch - i tak - pomaga :) bardzo dziękuję :) Dodatkowe pytanie do niego - czy można to zrobić całkowicie w js - bez pomocy zewnętrznych pomocników? Mam js wspólny dla różnych stron i zamiast zmieniać strony - chciałbym zmienić ten js ... – agmawe

Odpowiedz

1

można mieć maskFormat jako zmienną globalną (wkleja go w obiekcie okna), a następnie przekazać go window.maskFormat wewnątrz pliku JS:

plików cshtml:

(function() { 
    window.maskFormat = "@Html.CurrentDateMask();"; 
})(); 

i w pliku javascript:

$(function(){ 
    $(".DateBox").mask(window.maskFormat); 
}); 

ale bądź ostrożny, więc nie dodajesz do wielu zmiennych globalnych lub nazwy, która łatwo nadpisać

+0

dziękuję bardzo :) – agmawe