jquery datepicker - 动态altfield问题

时间:2010-09-28 10:42:17

标签: jquery

我在页面上有多个日期选择器......除了我的altfield部分外,所有似乎都工作得很好......

这样的事情可能吗?

$(document).ready(function(){

    $( ".datepicker" ).datepicker({
        beforeShowDay: function(date){ return [(date.getDay() == 1 || date.getDay() == 4), ""] },
        showOn: "button",
        buttonText: "Book now...",
        showWeek: true,
        firstDay: 1,
        onSelect: function(date) { 
            $(this).parent().find('.selecteddate').prepend("Date: " + $(this).parent().find('.datepicker').val() + " - <a href='javascript:;' class='cleardate'>clear date</a>"); 
            $(this).parent().find('button').hide();
        },
        dateFormat: "DD, d MM, yy",

        altField: $(this).closest('div').find('.datepickeralt'),

        altFormat: "dd/mm/yy",
        navigationAsDateFormat: true,
        minDate: 0,
    });

    $(".cleardate").live('click',function(){
        $(this).closest('div').find('.datepicker').datepicker("setDate", null);
        $(this).closest('div').find('.datepickeralt').val("");
        $(this).closest('div').find('button').show();
        $(this).parent().html("");
    });

});

1 个答案:

答案 0 :(得分:9)

是的,你可以做到这一点,你只需要用.each()循环实例化日期选择器,如下所示:

$('.datepicker').each(function() {
  $(this).datepicker({
    altField: $(this).closest('div').find('.datepickeralt')
  });
});

这种方式在.each() this内部引用您想要的内容,每个日期选择器,然后找到 alt字段。 You can give it a try here