jQuery加载ajax方法不加载日历插件

时间:2013-07-18 12:24:54

标签: jquery jquery-plugins asp.net-mvc-2 calendar

Jquery代码

  $('#afterServiceSelect').die('click').live('click', function () {

  var petKeys = $('#pets input:checked').map(function () { return $(this).val(); }).get().join('+');

   $('#available-dates').load('/PetBooking/GetAvailableDatesForServce/', { 'providerKey': '<%:Model.Provider.Key%>', 'ownerKey': '<%:Model.Owner.Key%>', 'serviceId': $('#ddlService').val(), 'petKeys': petKeys, 'numberOfDays': 90 }, function () {

            });

         return false;
  });

主页HTML

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
   <div id="available-dates">
    </div>
</asp:Content>

控制器

[HttpPost]
        public ActionResult GetAvailableDatesForServce(string providerKey, string ownerKey, string serviceId, string petKeys, string numberOfDays)
        {
            var bookingFacadeService = new BookingFacadeService();

            var model = new AppointmentViewModel
                {
                    AvailableDates = bookingFacadeService.GetAvailableDates(providerKey, ownerKey, serviceId, petKeys.Split('+'), Convert.ToInt32(numberOfDays)).ToList()
                };

            return PartialView("Dates", model);
        }

日期部分视图

    var value = dates.Any() ? dates.Select(d => d.Date.ToString("yyyy-MM-dd")).Join(",") : "";
     var monthCount = ((DateTime.Today.AddDays(90).Month - DateTime.Today.Month + 1) + 12) % 12; %>

<div id="dates" class="inline-multi-calendar" data-multi="true" data-months="<%: monthCount %>"
    data-min="<%: min %>" data-max="<%: max %>" data-disallowed="<%= string.Join(",", Model.UnavailableDates.Select(d => d.ToString("yyyy-MM-dd")).ToArray()) %>"
    data-value="<%: value %>">
</div>

用户界面

enter image description here

问题:当我像上面那样加载日历时,它不会加载日历。换句话说,没有日历的部分页面加载(其他东西正确加载)。

但是当我在没有ajax加载方法的情况下加载整页时,它会显示日历控件。

所以我的问题是如何使用带有日历控件的Ajax加载(我的感觉是日历插件没有加载ajax调用。所以如何使用ajax加载方法加载?)

0 个答案:

没有答案