在文档就绪时触发更改事件

Trigger change event on document ready

本文关键字:事件 文档 就绪      更新时间:2024-02-08

我想重新计算所有内容,不仅在更改时,而且在加载页面时。

我尝试了以下几种:

$(document).ready(function () {
    //trigger misc costs
        $("input[class~='miscc']").trigger('change');
        $("input[class~='misch']").trigger('change');

//other events here....
    //add up repeater miscaleneous mnumbers
    //dollar amoungs
    $("input[class~='miscc']").change(function (event) {
        //only allow numbers
        this.value = this.value.replace(/[^0-9'.]/g, '');
        var sum = 0;
        var num = 0;
        $("input[class~='miscc']").each(function (event) {
            num = parseFloat($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMiscC']").val(sum.toFixed(2));
        $("input[class~='cost']").trigger('change');
    });
    //hours
    $("input[class~='misch']").change(function (event) {
        //only allow numbers
        this.value = this.value.replace(/[^0-9'.]/g, '');
        var sum = 0.00;
        var num = 0;
        $("input[class~='misch']").each(function (event) {
            num = parseFloat($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMiscH']").val(sum.toFixed(1));
        $("input[class~='hours']").trigger('change');
    });
});

但是什么都没发生,我做错了吗?

在绑定事件处理程序之前,您正在触发事件。首先绑定处理程序,然后触发事件。

将更改事件添加到底部。

$(document).ready(function () {
//other events here....
    //add up repeater miscaleneous mnumbers
    //dollar amoungs
    $("input[class~='miscc']").change(function (event) {
        //only allow numbers
        this.value = this.value.replace(/[^0-9'.]/g, '');
        var sum = 0;
        var num = 0;
        $("input[class~='miscc']").each(function (event) {
            num = parseFloat($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMiscC']").val(sum.toFixed(2));
        $("input[class~='cost']").trigger('change');
    });
    //hours
    $("input[class~='misch']").change(function (event) {
        //only allow numbers
        this.value = this.value.replace(/[^0-9'.]/g, '');
        var sum = 0.00;
        var num = 0;
        $("input[class~='misch']").each(function (event) {
            num = parseFloat($(this).val()) || 0;
            sum = sum + num;
        });
        $("input[id*='txtMiscH']").val(sum.toFixed(1));
        $("input[class~='hours']").trigger('change');
    });
    //trigger misc costs
        $("input[class~='miscc']").trigger('change');
        $("input[class~='misch']").trigger('change');
});