从日期选择器获取日期值

本文关键字:取日期 获取 选择器 日期 | 更新日期: 2023-09-27 18:14:00

我对MVC非常陌生,我试图从日期选择器中获取用户选择的日期,并根据用户输入显示另一组日期。日期选择器工作得很好,但我不确定如何获得日期的值并将其传递给计算。我已经创建了一个文本框来获取用户想要显示的天数,并创建了一个按钮来启动计算,但是我创建按钮的方式也创建了另一个文本框。

下面是视图代码:

@using (Html.BeginForm())
    {
        <h2>Enter The Number Of Days To Display</h2>
        Date: <input type="text" id="date" name="date"value ="Enter a number"/>
       @Html.TextBoxFor(model => model.DaysToBeViewed)
       <input type="submit" value="Display Days" />

从日期选择器获取日期值

  1. 您可以部分地将日期值发送给控制器方法。这样的:

    @using (Html.BeginForm ()){

    输入要显示的天数

    日期:@Html。TextBoxFor(model => model. daystobeviewed)//更改类型为button}
Javascript:

$(document).ready(function(){
   $("#submitDate").on("click", function(){
      $.ajax({
        type: "POST",
        url: "../MyController/Calculate?date=" + $("input#date").val(),
                                                           // syntax was wrong here
           success: function (result) {
              $("#DaysToBeViewed").val(result);
           },
           error: function () {
             alert("Error in calculation method");
           }
        });
       });
    });

控制器:

public string Calculate(string date) 
{
    // do your calculation here
    return date;
}
  1. 如果你想发布你的数据,那么你需要改变你的BeginForm的东西,像这样:

视图:

@using (Html.BeginForm("Calculate", "ControllerName", FormMethod.Post, 
                                      new { enctype = "multipart/form-data" }))
{
    <h2>Enter The Number Of Days To Display</h2>
        Date: <input type="text" id="date" name="date" value ="Enter a number"/>
       @Html.TextBoxFor(model => model.DaysToBeViewed)
       <input type="submit" value="Display Days" />
}

模型:

public class MyData
{
    public string DaysToBeViewed {get; set;}
    public string date {get; set;}
}

控制器:

[HttpPost]
public ActionResult Calculate(MyData myData) 
{
    // do your calculation here
    return View();
}

你试过getDate吗?

var currentDate = $( "input#date" ).datepicker( "getDate" );

返回日期选择器的当前日期,如果没有选择日期则返回null。

您可以检查API以查看其他选项(例如onSelect)

问候,安德烈