2012-12-19 5 views
15

MVC-Seiten mit Kultur je nach Benutzer. In der Suchoption (die Suche kann mit DueDate durchgeführt werden), muss ich eine Maske für dieses DueDate-Textfeld haben. Die Maske muss von der Kultur des Benutzers abhängig sein. In beiden js und cshtml haben einen Fehler, der sagt: mask.split is not a function. Changed meine jquery.maskedinput-1.2.3.js von make.split zu make.toString() .split und der Fehler ist weg, aber muss so aussehen: [object Object] oder hat einige 01 Nummern. Irgendeine Idee? Code in cshtml sieht wie folgt aus:Erforderlich Datumsmaske abhängig von der Kultur in jquery

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

Was gibt '@ Html.CurrentDateMask()' zurück? Ich denke, Sie wollen es als String: 'var maskFormat =" @ Html.CurrentDateMask(); ";' um eine Javascript-Zeichenfolge zu erstellen. – voigtan

+0

es gibt eine Zeichenfolge zurück - und ja - es hilft :) Vielen Dank :) Zusätzliche Frage dazu - kann dies vollständig in js getan werden - ohne Verwendung von externen Helfern? Ich habe eine gemeinsame js für verschiedene Seiten und statt Seiten zu ändern - ich würde gerne diese js ändern ... – agmawe

Antwort

1

Sie maskFormat als globale Variable haben könnte (im Fenster Objekt setzen) und dann an window.maskFormat in Ihrer JS-Datei verweisen:

cshtml Datei:

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

und in Ihrem Javascript-Datei:

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

aber seien Sie vorsichtig, so dass Sie nicht zu vielen globalen Variablen hinzufügen oder mit einem Namen, der leicht zu überschreiben ist

+0

vielen Dank :) – agmawe

Verwandte Themen