如何从我的datepicker到控制器获取并发送所选日期?

时间:2014-03-29 00:24:11

标签: javascript jquery ajax json asp.net-mvc-3

我正在尝试做一个能够获得所选日期并将其发送给控制器的事件。我在页面上有两个javascripts。顶部有一个加载弹出窗口并显示局部视图。在局部视图中,我有一个日期选择器。

在页面底部我放了一个单独的javascript来调用从弹出窗口中获取所选日期并将其发送到我的控制器。

这是我页面顶部的脚本。这适用于加载弹出窗口。

这里的标记代码......。

 <script type="text/javascript">
$(document).ready(function () {
    $(function () {


        $(".datepicker").datepicker({ dateFormat: 'mm.dd.yy' });
        var dpkr = $(".datepicker");
        $("#dropdownselected1").val($("#categories").val());
        var selectedDate = dpkr.datepicker('getDate');



    });


    $(function () {


        $('#my-dialog').dialog({
            autoOpen: false,
            width: 700,
            height: 600,

            title: "My Schedule",
            resizable: false,
            modal: false,
            buttons: {
                "Close": function () {
                    $(this).dialog("close");
                }
            }
        });

        $('.modal').click(function () {
            $('#my-dialog').load(this.href, function () {
                $(this).dialog('open');
            });
            return false;

             }); 

         });

     });
 </script>

这里的标记代码......。

在底部我尝试了这个并且它没有将所选日期发送到控制器:

  <script type="text/javascript">

   var dpkr = $('datepicker');
   var sltdDate = dpkr.datepicker('getDate');
   $(function(){


  var selectedDate = { date: sltdDate };

    $.ajax({
   type:"GET ",
   url:"/Schedule/GetSchedule",
   data: selectedDate,
   datatype:"html",
     sucess:function(data){
   $('#result').html(data);
   }
   });


      });
     </script>

如何从我的日期选择器获取并将所选日期发送到控制器?

编辑:GetSchedule操作。

 public ActionResult GetSchedule(string date)
    {   var viewModel = new ScheduleData();
    viewModel.Courses = db.Courses;
    viewModel.Enrollments = from s in db.Enrollments where s.InstructorId == 7 && s.classDays == "Monday" select s;




        return PartialView(viewModel);

    }

 }

1 个答案:

答案 0 :(得分:0)

我重建了代码块并让它像这样工作:

 <script type="text/javascript">
$(document).ready(function () {
    $("#datep").datepicker({ showOn: "both", buttonText: "Select Date", changeMonth: true, changeYear: true, yearRange: "-2:+2", showOtherMonths: true, onSelect: function (date, datepickder) {
        var sltdDate = { selectedDate: date};
        $.ajax({
            type: "GET",
            url: "/Schedule/GetSchedule",
            data: sltdDate,
            datatype: "html",
            sucess: function (data) {

            }
        });

       }


       });
         $("#datep").attr("placeHolder", "mm/dd/yyy").datatepicker();



    });     
 </script>