簡體   English   中英

准備好文檔時觸發更改事件

[英]Trigger change event on document ready

我想重新計算所有內容,不僅包括更改,還包括頁面加載時。

我嘗試了以下方法:

$(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');
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM