我正在使用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值的事件。
非常感谢任何和所有帮助。
由于
答案 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请求。
如果您需要更多信息,请与我们联系。
如果它适合您,请将其标记为答案:)