【问题标题】:How can I get and send the selected date from my datepicker to the controller?如何从我的日期选择器获取选定的日期并将其发送到控制器?
【发布时间】:2014-03-29 00:24:10
【问题描述】:

我正在尝试做一个事件来获取选定的日期并将其发送到控制器。我在页面上有两个 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);

    }

 }

【问题讨论】:

  • 向我们展示您的GetSchedule 操作。
  • 调试控制台有错误吗?
  • 尝试获取类似 $(".datepicker").val() 的值
  • 另外,$(document).ready(function() { $(function() { }); }); 是多余的。使用 one $(document).ready(function() {});$(function() {});。见.ready()
  • 我已将 GetSchedule 操作添加到原始帖子的末尾。动作被调用,但参数为空。

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


【解决方案1】:

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

 <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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多