Razor Jquery日期选择器正确加载和打开,但不更改日期值

Razor Jquery日期选择器正确加载和打开,但不更改日期值,razor,jquery-ui-dialog,jquery-ui-datepicker,asp.net-mvc-partialview,Razor,Jquery Ui Dialog,Jquery Ui Datepicker,Asp.net Mvc Partialview,我正在用MVC razor开发一个基于web的应用程序,我正在使用Jquery datepicker一对日期字段现在datepicker加载并正确打开,但不更改日期值。我正在调用一个部分视图,通过Jquery对话框进行编辑。实际上,如果我在页面内进行编辑操作(使用查询对话框而不使用部分视图),一切正常 EditDate.cshtml <script type="text/javascript"> $(function () { $(".datepicker")

我正在用MVC razor开发一个基于web的应用程序,我正在使用Jquery datepicker一对日期字段现在datepicker加载并正确打开,但不更改日期值。我正在调用一个部分视图,通过Jquery对话框进行编辑。实际上,如果我在页面内进行编辑操作(使用查询对话框而不使用部分视图),一切正常

EditDate.cshtml

<script type="text/javascript">
    $(function () {
        $(".datepicker").datepicker({
            dateFormat: 'dd.mm.yy',
            changeMonth: true,
            changeYear: true,
            yearRange: "-100:+0"
        });
    });
</script>

@using (Html.BeginForm("EditDate", "Home"))
{
    @Html.HiddenFor(m => m.Id)
    @Html.TextBoxFor(m => m.Date, new { @class = "datepicker" })
    <button>Update</button>
}

$(函数(){
$(“.datepicker”).datepicker({
日期格式:“年月日”,
变化月:对,
变化年:是的,
年份范围:“-100:+0”
});
});
@使用(Html.BeginForm(“EditDate”、“Home”))
{
@Html.HiddenFor(m=>m.Id)
@TextBoxFor(m=>m.Date,新的{@class=“datepicker”})
更新
}

如果使用AJAX加载此局部视图,很可能不会调用放入其中的
$(function(){…})
,因此不会将插件附加到输入字段

首先,我将把这个javascript移到它所属的位置:移到一个单独的javascript文件中,而不是在HTML视图中。我还要将其放入一个命名函数中:

function applyDatePickers() {
    $(".datepicker").datepicker({
        dateFormat: 'dd.mm.yy',
        changeMonth: true,
        changeYear: true,
        yearRange: "-100:+0"
    });
}


$(function () {
    applyDatePickers(); // This is only for the initial DOM when the page is loaded
});

然后,从服务器加载jQuery对话框后,再次调用
applyDatePickers
函数。如果您使用AJAX加载此部分,这可能在AJAX请求的
success
回调中。

Darin,正如您所说,我已经尝试过,我分离了函数并将其放在主页上,但问题仍然存在。