9

EditorFor フィールドで datepicker を使用する必要があります。

ビューの私のコードは次のとおりです。

<div class="editor-label">
    @Html.Label("birthDate","birthDate")
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.birthDate, new { @class = "datepicker"})
    @Html.ValidationMessageFor(model => model.birthDate)
</div>

スクリプト:

<script type="text/javascript">
$(document).ready(
    function () {
        $('.datepicker').datepicker({
            changeMonth: true,
            changeYear: true,
            minDate: "-99Y",
            dateFormat: "dd/mm/yyyy"
        });
    });

私はそれを機能させることはできません。次のエラーが発生しました: Microsoft JScript ランタイム エラー: オブジェクトは、このプロパティまたはメソッド 'datepicker' をサポートしていません。

関数を呼び出そうとする前に、すでに jQuery をロードしています。

4

3 に答える 3

9
@Html.EditorFor(model => model.birthDate, new { @class = "datepicker"})

「EditorFor」はClassを受け入れない(DOM に渡す)ため、機能しません。

したがって、クラスを受け入れる「TextBoxFor」を使用するか、さらに良いことに、DateTime であるフィールドを処理するための EditorTemplateを作成し、そこにクラスを追加する必要があります。このリンクでは、テンプレートの作成方法について詳しく説明しています。

クラスが機能するようになると (ソース コードで確認できます)、残りは jquery コードを参照するだけです。私が使う

@Styles.Render("~/Content/themes/base/css")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/jqueryui")

既に持っているスクリプトでアクティブ化します。「.datepicker」という名前がクラスとまったく同じであることを確認してください。

于 2014-04-17T20:19:54.047 に答える
4

EditorFor 私のためにクラスを受け入れる

@Html.EditorFor(model => model.Birthday, new { htmlAttributes = new { @class = "datepicker",@Name="birthday",@PlaceHolder = "mm/dd/yyyy" } })

HTML マークアップ

class="datepicker text-box single-line"

クラスは仕事です。

于 2015-08-19T07:17:59.220 に答える