【问题标题】:Datepicker refresh is not working?日期选择器刷新不起作用?
【发布时间】:2016-11-15 10:58:50
【问题描述】:

我正在开发 asp.net mvc 应用程序,在将所选日期提交到数据库后,我想刷新 datepicker,我只能刷新 datepicker 页面加载。我不想刷新整个页面, 我在弹出窗口上有输入字段(也有日期选择器)。在提交按钮上,我使用的是 ajax,所以整个页面没有刷新,并且 datepicker 保留了之前的选择,那么我该如何刷新 datepicker。

这是我在 ajax 之后使用的 jquery 代码

function saveandContinue() {
    if (!validateManageRequestmodel())
        return;
    else
        $("#showerrormsg").hide();

    var model = getManageRequestmodel();
    $.ajax({
        type: "POST",
        url: "AddManageRequest",
        contentType: "application/json",
        data: $.toJSON(model),
        success: function (result) {
            debugger;
            if (result.Status == "ERROR") {
                showErrorMessage('showerrormsg', result.Result);
            }
            else if (result.Status == "OK") {
                showSuccessMessage('showerrormsg', 'Record saved successfully.');
                    **$(".datepicker").datepicker("refresh");**
                iIncrease++;
                if (gsaveParameter === 'add')
                    resetManageRequest();
                else if (gsaveParameter === 'edit') {
                    if (iIncrease < selectedIDs.length)
                        GetDataForEdit(selectedIDs[iIncrease]);
                    else {
                        $('#manageRequestModal').modal('hide');
                        onActionRefreshGrid();
                    }
                }
            }
        },
        error: function (error) {
            debugger;
            showErrorMessage('showerrormsg', error);
        }
    });
}

【问题讨论】:

    标签: jquery model-view-controller datepicker


    【解决方案1】:

    Demo link: 1
    Demo link: 2

    $(".datepicker").datepicker('setDate', null);
    

    【讨论】:

    • 谢谢。但是为什么刷新不起作用--$('.datepicker').datepicker('refresh');
    • 您上面的代码是刷新日期选择器,这很好,但在这里我想在输入框中禁用过去的日期并在另一个输入框中禁用未来的日期,所以禁用过去和未来的日期不起作用,我还使用了您的演示链接:2
    • 告诉我你的日期选择器过去和未来的禁用代码。
    【解决方案2】:

    由于页面已加载,$(".datepicker").datepicker("refresh"); 不会反映更改。

    如果你能创建一个可以在需要时使用的函数会更好

    function InitializeDate() {
        $(".datepicker").datepicker();
    }
    

    【讨论】:

    • 我尝试了你的建议但不起作用,在 resetManageRequest() 函数中我正在刷新 datepicker 但不起作用,请看这里我的代码 -$('#txtdatereceiving').datepicker('refresh'); $('#txtTATdate').datepicker('refresh');
    • 在你的 $.ajax @Sudhakarsingh 中设置 async:false
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-04
    • 2014-11-25
    • 2017-09-29
    • 1970-01-01
    • 2012-04-19
    相关资源
    最近更新 更多