jquery - 如何将日期渲染为 jQuery 日期选择器的链接?

标签 jquery jquery-ui datepicker

我想将日期选择器中的日期转换为链接。我怎样才能做到这一点?我知道它有 onSelect,但是当用户将鼠标悬停在日期上时,它不会向用户提供视觉线索。

我尝试了以下操作,但它似乎确实执行了回调函数。使用 jQuery UI v1.9.2 和 jQuery v1.8.1。

$(document).ready(function () {
    $("#datepicker").datepicker({
        renderCallback: function ($td, thisDate, month, year) {
            alert('hi');
        }
    });
});

更新

即使解决方法很容易实现,我还是决定采用 Kevin B 的方法。这就是全部内容。

var old_generateHTML = $.datepicker._generateHTML;
$.datepicker._generateHTML = function () {
    function getMonth(s) {
        var months = {
            'January': '01', 'February': '02', 'March': '03', 'April': '04', 'May': '05', 'June': '06',
            'July': '07', 'August': '08', 'September': '09', 'October': '10', 'November': '11', 'December': '12'
        }
        return months[s];
    }
    var ret = old_generateHTML.apply(this, arguments);
    var month = ret.replace(/^.*month">([a-z]+)<\/span.*$/i, "$1");
    var year = ret.replace(/^.*year">([0-9]{4})<\/span.*$/i, "$1");
    ret = ret.replace(/href="#">([0-9]{1,2})<\/a>/g, "href=\"process.php?date=" + getMonth(month) + "/$1/" + year + "\">$1</a>");
    return ret;
};

$(document).ready(function () {
    $("#datepicker").datepicker();
});

最佳答案

我建议扩展 generateHTML 方法,以便每次生成日期选择器的 html 时,都会创建您的链接。

演示:http://jsfiddle.net/C4jWz/1/

var old_generateHTML = $.datepicker._generateHTML;

$.datepicker._generateHTML = function() {
    var ret = old_generateHTML.apply(this,arguments);
    ret = ret.replace(/href="#">([0-9]{1,2})<\/a>/g, "href=\"process.php?day=$1\">$1</a>");
    return ret;    
};

//<a class="ui-state-default ui-state-hover" href="#">13</a>

$( "#datepicker" ).datepicker();

这个只能获取日期,月/年可以用同样的方式获取。

关于jquery - 如何将日期渲染为 jQuery 日期选择器的链接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13611917/

相关文章:

javascript - 如何将 JSON 数据从 Express 传递到 pug 中的 javascript/jQuery 脚本?

regex - jquery 可使用正则表达式排序

javascript - 通过拖动调整 Bootstrap 列的大小

javascript - Jquery UI Datepicker 注销和登录后不显示

ruby - 我如何使用 page-object-gem 和 jqueryui_widgets 选择日期选择器

php - 提交表单后显示模式对话框

php - 根据下拉菜单中选定的选项查看数据库中的数据

javascript - 如何将带有 <a> 链接的 <ul> 作为简单文本添加到文本区域中?

jquery - 如何创建一个 jQuery Mobile 的 Popup Alert 机制?

datepicker - 如何设置 bootstrap-datepicker-rails?