如何编写单个Jquery函数来触发文档更改和就绪事件

时间:2016-04-28 14:18:13

标签: javascript jquery

我想要做的只是在文档加载后调用此函数,但也可以在更改某些元素值时调用此函数。如果有办法在没有为document.ready()事件和document.change()编写同一段代码的情况下执行此操作,我就会徘徊。

$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", function() {
    that.UpdateDays();
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") {
        $("#IsHalfDay").show();
    } else {
        $("#IsHalfDay").hide();
        $("input[name=HalfDay]").removeAttr("checked");
        $("#amPM").hide();
        $("#HalfDayAP").val("");
    }
});

我基本上需要的是此函数在更改之前运行并检查表单上已有的值。

1 个答案:

答案 0 :(得分:1)

像这样使用:

var changeFn = function() {
    that.UpdateDays();
    if ($("#holiday-editor input[name=StartDate]").val() == $("#holiday-editor input[name=EndDate]").val() && $("#holiday-editor input[name=StartDate]").val() + $("#holiday-editor input[name=EndDate]").val() != "") {
        $("#IsHalfDay").show();
    } else {
        $("#IsHalfDay").hide();
        $("input[name=HalfDay]").removeAttr("checked");
        $("#amPM").hide();
        $("#HalfDayAP").val("");
    }
};

$(document).on("change", "#holiday-editor input[name=StartDate],input[name=EndDate]", changeFn);

您也可以在changeFn()或任何时候致电ready