2012-12-19 22 views
15

MVC có văn hóa tùy thuộc vào người dùng. Trong tùy chọn Search (tìm kiếm có thể được thực hiện bởi DueDate), tôi cần phải có một mặt nạ trên hộp văn bản DueDate đó. Mặt nạ phải phụ thuộc vào văn hóa của người dùng. Trong cả js và cshtml đều có lỗi: mask.split is not a function. Đã thay đổi số jquery.maskedinput-1.2.3.js của tôi từ make.split thành make.toString() .split và lỗi đã biến mất, nhưng phải giống như sau: [object Object] hoặc có một số số 01. Bất kỳ ý tưởng? Mã trong cshtml trông như thế này:Cần có mặt nạ ngày tùy thuộc vào văn hóa trong các trang jquery

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

'@ Html.CurrentDateMask()' trả lại là gì? Tôi nghĩ bạn muốn nó như một chuỗi: 'var maskFormat =" @ Html.CurrentDateMask(); ";' để tạo một chuỗi Javascript. – voigtan

+0

nó trả về một chuỗi - và có - nó giúp :) cảm ơn bạn rất nhiều :) Câu hỏi bổ sung cho nó - điều này có thể được thực hiện hoàn toàn trong js - không sử dụng bất kỳ người giúp đỡ bên ngoài? Tôi có một js chung cho các trang khác nhau và thay vì thay đổi trang - Tôi muốn thay đổi js đó ... – agmawe

Trả lời

1

bạn có thể có maskFormat như là một biến toàn cầu (đặt nó trong đối tượng cửa sổ) và sau đó tham khảo nó để window.maskFormat bên trong tập tin JS của bạn:

tập tin cshtml:

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

và trong file Javascript của bạn:

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

nhưng hãy cẩn thận để bạn không thêm vào nhiều biến toàn cầu hoặc với tên dễ dàng ghi đè lên số

+0

cảm ơn bạn rất nhiều :) – agmawe

Các vấn đề liên quan