2014-04-06 72 views
0

我對javascriptcoffeescript都是新手。我正在嘗試將我的日期選擇器初始化爲另一種語言。如何將jquery-ui datepicker本地化選項翻譯成咖啡腳本?

鑑於該documentation下面的代碼片段...

$(function() { 
    $("#datepicker").datepicker($.datepicker.regional[ "fr" ]); 
}); 

如果我做在Rails應用4我.js.coffee文件下面,它似乎並不奏效。

jQuery -> 
    $('#order_expected_delivery_date').datepicker 
     dateFormat: 'yy-mm-dd' 
     showAnim: 'slideDown' 
     minDate: '+3D' 
     maxDate: '+1M +3D' 
     $.datepicker.regional[ "zh-CN" ] 

非常感謝提前。

回答

1

如果你看一下$.datapicker.regional['zh-CN'],你會看到這樣的事情:

{ 
    closeText: ..., 
    prevText: ..., 
    ... 
} 

所以$.datepicker.regional值是持有一組的日期選擇本地化選項的對象。這意味着,您的電話datepicker真的是這樣的:

$('#order_expected_delivery_date').datepicker 
    dateFormat: 'yy-mm-dd' 
    showAnim: 'slideDown' 
    minDate: '+3D' 
    maxDate: '+1M +3D' 
    { closeText: '...', prevText: '...', ... } 

和被解釋爲參數datepicker

$('#order_expected_delivery_date').datepicker({ 
    dateFormat: 'yy-mm-dd', ... 
}, { 
    closeText: '...', ... 
}) 

和本地化選項將被忽略。

可能最簡單的做法是將本地化選項合併到您的選項中。

options = $.extend({ }, $.datapicker.regional['zh-CN'], 
     dateFormat: 'yy-mm-dd' 
     showAnim: 'slideDown' 
     minDate: '+3D' 
     maxDate: '+1M +3D' 
    ) 
    $('#order_expected_delivery_date').datepicker options 

我使用$.extend,因爲您已經在使用jQuery。我還將的標準本地化選項放在之前,因爲dateFormat可能由本地化選項提供,並且您想使用自己的選項。

您也可以使用option method喜歡的例子做:

$('#order_expected_delivery_date').datepicker 'option', $.datepicker.regional['zh-CN'] 

但可能會覆寫所以可能需要一些dateFormat照顧。