ASP.Net JQuery UI将选定日期传递给Model

时间:2015-08-26 19:02:28

标签: javascript jquery asp.net jquery-ui-datepicker

我正在使用JQuery UI DatePicker,并希望用户单击可用日期,当单击日期触发事件并将日期传递给模型时,我的控制器可以从数据库中获取信息。

我的观点现在看起来像这样,但我不知道从这里需要做什么。

@model WebSite.DataModel.Booking

<script>
$(function () {
    $("#datepicker").datepicker({ dateFormat: "dd-mm-yy" }).val();
});

@using (Html.BeginForm())
{
<div class="editor-field left" id="datepicker">
    @Html.HiddenFor(model => model.SessionDate)
    @Html.ValidationMessageFor(model => model.SessionDate)
</div>


    <div class="col-md-10">
        <input type="submit" value="Search Available Slots" class="btn btn-default left" />
    </div>
}

我在网上浏览了一下,但是根据datepicker click事件,无法找到任何会触发事件传递@ Html.HiddenFor值的事件。

非常感谢任何和所有帮助。

由于

1 个答案:

答案 0 :(得分:0)

我的解决方案可能会对您有所帮助。

第一件事:在你的javascript中.val()不需要如下所示。

$("#datepicker").datepicker({ dateFormat: "dd-mm-yy" });

但是,您需要将函数绑定到datepicker的onSelect事件。我在这里写匿名函数,因为你可以用自己的函数替换。

$("#datepicker").datepicker({ 
    dateFormat: "dd-mm-yy",
    onSelect: function () {
        //alert($("#datepicker").val());

        //for the below line, please check  
        //the rendered control's id and use the same.
        $("#WebSite.DataModel.Booking.SessionDate").val($("#datepicker").val());
    }
});

你得到了隐藏字段的价值。现在,您可以通过动态形成数据并传递给行动来发布表单或发出ajax请求。

如果您需要更多信息,请与我们联系。

如果它适合您,请将其标记为答案:)