我正在使用 Foundation Reveal 模式首先显示包含突出显示日期的日历的 Reveal,然后显示第二个 Reveal,其中包含有关在所选日期运行的事件的一段信息。在第二次展示中,连同有关事件的信息,我还想显示被选中的日期。
如何将所选日期从日历模式传递到信息模式?
我已经检查了有关 Reveal 的基础文档,但我没有看到这个选项: http: //foundation.zurb.com/docs/reveal.php
我也看过 jQuery.data() http://api.jquery.com/data/
我尝试在我的代码中使用 jQuery.data(),但日期参数没有被传递给信息显示 - 我在运行代码时收到错误“$ 未定义”。
html提取:
<div id="roseBasicInfoModal" class="reveal-modal">
<h2>Rose Tinted Cupcakes - rose making class</h2>
<p>
You've seen those show stopping roses on the TV and in baking books and now you'd like to master them yourself!? In this class you will learn how to make a selection of roses suitable to adorn cupcakes and large cakes, both with and without cutters, from the impressive large bloom to the delicate small detail.
</p>
<p>
During the 3 hour course... etc. etc.
</p>
<script>
document.write("Date: " + $('roseBasicInfoModal').data('selectedDate')); //not working - doesn't display anything - error '$ is undefined' ??
</script>
<a class="round button" href="#" data-reveal-id="roseFullDetailsModal" data-animation="fadeAndPop" data-size="xlarge">Full Details</a>
<a data-reveal-id="calendarModal" class="round button" href="#">Back</a>
<a class="close-reveal-modal">×</a>
</div>
和 javascript:
<script>
$(function() {
var class_dates = {'2012/12/4':'1st class' , '2012/12/20':'2nd class'};
$("#datepicker").datepicker({
beforeShowDay: function(date) { // function to highlight dates of classes
var search = date.getFullYear() + "/" + (date.getMonth() + 1) + "/" + (date.getDate());
if (class_dates[search])
{
return [true, 'highlight', class_dates[search] || ''];
}
return [false, '', ''];
},
onSelect: function(dateText, inst) // function to show basic info when date selected
{
if (dateText == '04-12-2012') //display different class info depending on the date
{
$("#roseBasicInfoModal").reveal({ "open": function () {$("#roseBasicInfoModal").data('selectedDate', dateText); } }); //attempt to make selected date available to roseBasicInfoModal div - not working!!
}
if (dateText == '20-12-2012')
{
$("#startfinishBasicInfoModal").reveal({ "open": function () { alert("Date is: " + dateText) } }); //playing with 'open' option
}
}
});
});
$(function() {
$( "#datepicker" ).datepicker( "option", "dateFormat", "dd-mm-yy" ); //set date format for parsing and displaying dates
});
// Hover states on the static widgets
$( "#dialog-link, #icons li" ).hover(
function() {
$( this ).addClass( "ui-state-hover" );
},
function() {
$( this ).removeClass( "ui-state-hover" );
}
);
</script>