jQuery UI Datepicker – 多个日期选择

前端之家收集整理的这篇文章主要介绍了jQuery UI Datepicker – 多个日期选择前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法使用jQuery UI Datepicker小部件来选择多个日期?

所有的帮助是赞赏!
如果不能posable使用jquery UI datepicker那么是有类似的东西吗?

解决方法

我需要做同样的事情,所以写了一些JavaScript来启用这个,使用onSelect和beforeShowDay事件。它保持自己的选定日期数组,所以不幸的是没有集成显示当前日期的文本框等。我只是使用它作为一个内联控件,然后我可以查询数组的当前选定的日期。
我用 this code为基础。
<script type="text/javascript">
// Maintain array of dates
var dates = new Array();

function addDate(date) {
    if (jQuery.inArray(date,dates) < 0) 
        dates.push(date);
}

function removeDate(index) {
    dates.splice(index,1);
}

// Adds a date if we don't have it yet,else remove it
function addOrRemoveDate(date) {
    var index = jQuery.inArray(date,dates);
    if (index >= 0) 
        removeDate(index);
    else 
        addDate(date);
}

// Takes a 1-digit number and inserts a zero before it
function padNumber(number) {
    var ret = new String(number);
    if (ret.length == 1) 
        ret = "0" + ret;
    return ret;
}

jQuery(function () {
    jQuery("#datepicker").datepicker({
        onSelect: function (dateText,inst) {
            addOrRemoveDate(dateText);
        },beforeShowDay: function (date) {
            var year = date.getFullYear();
            // months and days are inserted into the array in the form,e.g "01/01/2009",but here the format is "1/1/2009"
            var month = padNumber(date.getMonth() + 1);
            var day = padNumber(date.getDate());
            // This depends on the datepicker's date format
            var dateString = month + "/" + day + "/" + year;

            var gotDate = jQuery.inArray(dateString,dates);
            if (gotDate >= 0) {
                // Enable date so it can be deselected. Set style to be highlighted
                return [true,"ui-state-highlight"];
            }
            // Dates not in the array are left enabled,but with no extra style
            return [true,""];
        }
    });
});
</script>

猜你在找的jQuery相关文章