簡體   English   中英

使用jquery datepicker選擇所選日期的周數

[英]Select the week number of the date picked using jquery datepicker

我有以下代碼用於選擇我想要轉換為周數的日期。

    $(".calendar").datepicker({
        showWeek: true,
        onSelect: function(dateText, inst) {
            dateFormat: "'Week Number '" + $.datepicker.iso8601Week(new Date(dateText)),
            alert($.datepicker.iso8601Week(new Date(dateText)))
        }
    });

警報顯示正確的周數,但日期根本不重新格式化。

我無法在onSelect之外移動dateFormat函數,因為這不會導致任何事情發生。

我想要實現的是文本字段,例如“第13周”

有任何想法嗎?

http://jsfiddle.net/ENG66/

我已經更新了小提琴以使其工作: http//jsfiddle.net/ENG66/11/

在onselect事件中,您需要使用.val()來覆蓋文本框值的設置

$(".calendar").datepicker({
        showWeek: true,
        onSelect: function(dateText, inst) {
            $(this).val("'Week Number '" + $.datepicker.iso8601Week(new Date(dateText)));
        }
    });​

編輯

正如Igor Shastin在下面的評論中指出的那樣,我們已經在inst.input有了文本框

inst.input.val($.datepicker.iso8601Week(new Date(dateText)));

試試這個jsFiddle示例

$(".calendar").datepicker({
    showWeek: true,
    onSelect: function(dateText, inst) {
        dateFormat: "'Week Number '" + $.datepicker.iso8601Week(new Date(dateText)),
        $(this).val('Week:' + $.datepicker.iso8601Week(new Date(dateText)));
    }
});​

上面的答案假設日期格式可以由Javascript本地處理。 對於歐洲日期較短(dd / mm / yyyy,而不是美國mm / dd / yyyy),您可以通過datepicker本身獲取日期值,該值將自動處理轉換。

$("#week_field").val( $.datepicker.iso8601Week( $("#date_field").datepicker( "getDate" ) ));

您可以像這樣為datepicker設置不同的日期格式

$.datepicker.setDefaults( {dateFormat : "dd/mm/yy"} );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM