簡體   English   中英

jQuery的MVC日期時間選擇器設置值未綁定到模型

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM