7

jQuery の使用時に時間が表示されないようにするにはどうすればよい.datepicker()ですか? 以下は、2 つの属性 (取得日と有効期限) のモデルのセクションです。

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    [DisplayName("Expiration Date")]
    public string ExpirationDate { get; set; }

    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:d}")]
    [DisplayName("Date Taken")]
    public string DateTaken { get; set; }

これは@Html.EditorFor、私が取り組んでいるビューのコントロールを使用して正常に機能します。ただし、そのコントロールをこれから変更すると:

 @Html.EditorFor(model => model.DateTaken)

これに:

@Html.TextBoxFor(m => m.DateTaken, new { id = "dtkn" })

datepickerこれを機能させるには(どのコントロールが適用されているかにラベルを付けます):

<script>
    $(function () {
        $("#dtkn").datepicker('setDate');
        $("#exp").datepicker('setDate');
    });

    $.datepicker.setDefaults({
        buttonImageOnly: true,
        buttonImage: '<%=Url.Content("~/Content/images/magnify.gif") %>',
        defaultDate: -1,
        gotoCurrent: true,
        prevText: "<< Prev",
        nextText: "Next >>"
    });
</script>

突然時間が現れ始めます。助言がありますか?

編集

次の形式を試しましたが、どれも機能しません。

$("#dtkn").datepicker({ dateFormat: 'dd-mm-yy' }).val();
$("#dtkn").datepicker({ dateFormat: 'yy-mm-dd' });
$("#dtkn").datepicker('getDate').format('yyyyMMdd');

この:

$("#dtkn").datepicker('getDate').datepicker('dd/mm/yy');
$('#dtkn').datepicker('option', { dateFormat: 'd MM y' });

Chrome デバッグ コンソールに表示されるエラーは次のとおりです。

Uncaught TypeError: Cannot call method 'datepicker' of null 
4

3 に答える 3

15

編集:MVC4ユーザーはこれを使用できます

この過負荷が必要です

@Html.TextBoxFor(m => m.DateTaken, "{0:MM/dd/yyyy}", new { id="dtkn" })

手動でヘルパーをあきらめる場合

<input type="text" value="@Model.DateTaken.ToString("MM/dd/yyyy")" id="dtkn" />
于 2013-03-29T19:50:30.520 に答える
4

@Html.TextBoxとは対照的に使用@Html.TextBoxForすることで、機能するオーバーロードを見つけることができました。

@Html.TextBox("DateTaken", Model.DateTaken.ToString("MM/dd/yyyy"), new { id = "dtkn" })
于 2013-03-29T22:36:52.563 に答える