在jQuery UI datepicker中更改href attr

时间:2010-10-19 13:26:21

标签: jquery jquery-ui attributes datepicker jquery-ui-datepicker

我正在使用UI datepicker小部件,我注意到生成日历时,所有日期都在href="#"的锚标记内。是否可以将href更改为dateText,或者将dateFormat设置为?

ex:<a class="ui-state-default" href="#October-27-2010">27</a>

提前致谢

//更新

关于如何做到这一点的任何线索?

2 个答案:

答案 0 :(得分:0)

我想你可以在这种情况下。

为什么要更改href? datepicker链接使用click事件,因此当单击链接时,它将不使用href但它首先执行javascript。如果此脚本返回false,则永远不会读取href属性(可能是这种情况,因为URL最后没有得到“#”)。

如果脚本返回true,则链接将被执行。

但是,谷歌会读取这些链接,如果他们在某个地方领先(因为据我所知,索引机器人忽略了javascript)。那是你想要实现的目标吗?

答案 1 :(得分:0)

我没有看到任何答案,这是一个非常古老的问题。但是,为了将来参考,任何人都会遇到这个问题。

您需要这样做(在下面的示例中,我使用了http://localhost:3000/这是我的网页上的网址,您的网页可能会有所不同。例如:http://www.myamazingsite.com/homepage/):< / p>

window.location.href = "http://localhost:3000/" + this.value;

以下是我的完整代码片段,它对我来说非常合适。我从Jquery ui Datepicker文档(http://api.jqueryui.com/datepicker/)中阅读和参考,并且经过研究后发现更多的例子已经在stackoverflow上得到了解答,这与我所做的非常类似:(Calendar change URL on select with jQuery UI datepicker

  $("#datepicker")
    .datepicker({
      defaultDate: parsedDate,
      beforeShowDay: $.datepicker.noWeekends,
      dateFormat: "yy/mm/dd",
      onSelect: function(parsedDate) {
        $(this).change();
      }
    })
    .change(function() {
      window.location.href = "http://localhost:3000/" + this.value;
    });

最后,parsedDate是我在上面创建的变量

var parsedDate = $.datepicker.parseDate('yy/mm/dd');

步骤: 1:当您选择Jquery UI的某个日期时,需要使用OnSelect事件。 2.你需要这样做: window.location.href ,它用于重定向页面。