使用jquery datepicker显示当前日期onclick

时间:2011-06-10 01:12:06

标签: jquery jquery-plugins

我正在使用datepicker ui来实现jQuery。日历加载正常。现在,我想在选择一天时触发显示当前日期的事件。我试图使用this但没有运气。

该功能如下所示:

$(document).ready(AllPageLoads);

    function AllPageLoads()
    {
        $('#datepicker').datepicker();
        $('table.games tbody tr.top').each(function (index) { if (index % 2 == 0) { $(this).addClass("even"); } else { $(this).addClass("odd"); } });
        $('table.games tbody tr.bottom').each(function (index) { if (index % 2 == 0) { $(this).addClass("even"); } else { $(this).addClass("odd"); } });
    }

    function EpicFail(response, status, error)
    {
        alert(response + " / " + status + " / " + error);

}
$('.selector').datepicker("option", "onSelect", function (dateText, inst) {
  alert(dateText);
 });

HTML:

<h2>Current Data</h2>

<div id="datepicker">
</div>

<p>All Times Pacific/p>
<table id="games" class="games">
    <thead> 
        <tr>
            <th>Date</th>
            <th>Data</th>
            <th>Col1</th>
            <th>Col2</th>
            <th>Data1</th>
            <th>Data2</th>
            <th>Data3</th>
        </tr>
     </thead>
  <tbody>

  <tr class="left">

        <td>6/9/2011</td>

        <td>901</td>

        <td>Team1</td>

        <td>Payer1</td>

        <td>info1</td>

        <td>OFF</td>

        <td>OFF</td>

    </tr>

    <tr class="right">

        <td>4:05 PM</td>

        <td>902</td>

        <td>Team2</td>

        <td>Palyer2</td>

        <td>info2</td>

        <td>OFF</td>

        <td>OFF</td>

    </tr>
   </tbody>
</table>

2 个答案:

答案 0 :(得分:2)

它无效,因为您在尝试现在之前至少初始化了datepicker一次。您正在使用的绑定(作为字典的内部选项)仅在第一次初始化时起作用。

将其移至第一个初始化语句或使用:

$('.selector').datepicker("option", "onSelect", function (dateText, inst) {
                                                    alert(dateText);
                                                });

答案 1 :(得分:1)

当您使用$('.selector').时,您告诉jQuery:查找具有class="selector"并执行此功能的元素。

但是你没有任何带有这个类名的元素。

因此,要解决问题,请简单添加代码:

    function AllPageLoads()
    {
        $('#datepicker').datepicker({
           onSelect: function (dateText, inst) { alert(dateText); }
        });
        $('table.games tbody tr.top').each(function (index) { if (index % 2 == 0) { $(this).addClass("even"); } else { $(this).addClass("odd"); } });
        $('table.games tbody tr.bottom').each(function (index) { if (index % 2 == 0) { $(this).addClass("even"); } else { $(this).addClass("odd"); } });
    }