[英]mvc datetime picker setting value from jquery does not bind to model
我有綁定到我的視圖模型上的datetime屬性的日期時間選擇器。 當我從日期時間選擇器中選擇日期並回發時,它將值綁定到模型,但是當我嘗試通過jequery設置值時,該值始終為null。
我的模型是:
public class viewmodel
{
[DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]
public datetime DDate { get; set; }
}
並且視圖代碼是
<div class="col-md-3">
@Html.TextBoxFor(m => m.DDate, new {@class = "form-control datepicker" })
@Html.ValidationMessageFor(model => model.DDate, "", new { @class = "text-danger" })</div>
javascript代碼是
$("#DDate").datepicker({ dateFormat: 'dd/mm/yy' });
因此,當我單擊選項按鈕時,它將設置日期時間選擇器的日期
$(':input[id="rbVatVoluntary"]').click(function () {
var thDate = $("#DDate");
thDate.attr("disabled", 'disabled');
thDate.datepicker('setDate', new Date());});
當我在瀏覽器中檢查控制台時,我看到該值設置正確,但是當我發布表單並檢查model屬性時,該值為null。
我對此表示感謝
disabled
HTML屬性可防止在POST請求期間提交輸入值(視為空值),如以下說明所示:
禁用的元素通常使用灰色文本繪制。 如果禁用了該元素,則它不會響應用戶的操作,無法使其處於焦點狀態,並且不會觸發命令事件。 如果是表單元素,則不會提交。
如果要保留要在POST期間提交的值,但又阻止用戶更改其內容,請改用HTML readonly
屬性 :
$(':input[id="rbVatVoluntary"]').click(function () {
var thDate = $("#Date");
thDate.attr("readonly", "readonly");
thDate.datepicker('setDate', new Date());
});
另外,您需要將屬性名稱與在helper方法中分配的名稱進行匹配:
@Html.TextBoxFor(m => m.Date, new { @class = "form-control datepicker" })
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.