2015-08-26 57 views
0

我正在使用JQuery UI DatePicker,並希望用戶單擊可用日期,當日期點擊要觸發的事件並將日期傳遞給模型時,所以我的控制器可以從數據庫中獲取信息。ASP.Net JQuery UI將選定日期傳遞給模型

我的看法現在看起來像這樣,但我不知道我需要從這裏做什麼。

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

我已經有大約在網上一看,卻無法找到任何會觸發一個事件傳遞基礎上,日期選擇器點擊事件從@ Html.HiddenFor值。

任何和所有幫助非常感謝。

謝謝

+0

這裏是一個偉大的回答:http://stackoverflow.com/a/7562489/1888402 –

+0

但我如何得到的日期選擇器值到屬性? –

+0

會做這樣的工作'@ Html.HiddenFor(model => model.SessionDate == Convert.ToDateTime(「datepicker」))' –

回答

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()); 
    } 
}); 

您獲得了隱藏字段的值。現在,您可以通過動態形成數據並傳遞給action來發布表單或發出ajax請求。

如果您需要更多信息,請告知我。

如果你的作品,將其標記爲答案:)

相關問題