启动datepicker问题

时间:2015-06-02 13:13:39

标签: javascript datepicker

这是我的js代码:

function myfunction(custom){
        minDate = '';
        maxDate = '';
        initDatePicker('#startDate\\['+custom+'\\]', minDate, maxDate);
        initDatePicker('#endDate\\['+custom+'\\]', minDate, maxDate);
}
function initDatePicker(cls, minDate, maxDate, beforeshowday) {
    beforeshowday = beforeshowday == "1" ? beforeshowday : "0";
    $(cls).datepicker({
        beforeShowDay: function(dt) {
            if (beforeshowday == 0) {
                return [dt.getDay() == 1 || dt.getDay() == 2 || dt.getDay() == 3 || dt.getDay() == 4 || dt.getDay() == 5, ""];
            }
            else {
                return [dt.getDay() == 0 || dt.getDay() == 6, ""];
            }
        },
        firstDay: 1,
        minDate: minDate,
        maxDate: maxDate,
        dateFormat: "yy-mm-dd",
        date: $(cls).val(),
        current: $(cls).val(),
        starts: 1,
        onBeforeShow: function() {
            $(cls).DatePickerSetDate($(cls).val(), true);
        },
        onChange: function(formated) {
            $(cls).val(formated);
            $(cls).DatePickerHide();
        }

    })
            .attr("readonly", "readonly");

}

当我调用myfunction函数时,它不会启动我的日期选择器。我究竟做错了什么 ?这是因为ID的类型吗? thx提前

1 个答案:

答案 0 :(得分:0)

如果你有文本框的ID,那么将那个作为元素的第一个参数传递。如下面的代码

initDatePicker('#startDate', minDate, maxDate);

正如您在评论中所说(#startDate [1]和#endDate [1] ...),您无法在一个页面中使用多个ID。如果页面中有多个日期选择器,请使用:eq函数。见下面的例子。

initDatePicker('[name="startDate"]:eq('+ custom +')', minDate, maxDate);
initDatePicker('[name="endDate"]:eq('+ custom +')', minDate, maxDate);

由于