我正在使用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>
答案 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"); } });
}