簡體   English   中英

通過javascript檢查表中給定類的輸入是否存在

[英]checking the existence of input with a given class in the table by javascript

描述:

我有一張桌子,x:rows,y:colums

大多數行是相同的結構輸入(類/類型等),但不是每個人。

我通過 javascipt 按類計算整個表。

在輸入帶有值的字段時我沒有的那些(用戶提供的那些)

如果行中沒有字段並且該字段是在 javascript 中聲明的(按類),[應該在那里輸入結果]

經驗:

VM36:473 未捕獲的類型錯誤:無法在 HTMLTableElement 的 updateRowX (:473:35) 處設置未定義的屬性“值”。 (:491:9)

因為在這一行我沒有輸入 exp 的類。 “additional_free”(如下例)

 function updateRowX(row) {
        let inputs = {}
        for (let input of row.querySelectorAll("input")) inputs[input.className] = new TimeInput(input);
        let { start, end, normative, actual, overtime, additional_work, additional_free, nulladditionalnull_work_null, additional_night } = inputs;
        if (!start) return; // Not a data row

        let diff = actual - normative;


        if (overtime == 0) {
            additional_free.value = Math.min(0, 1);   <---- here
            nulladditionalnull_work_null.value = Math.min(0, 1);
        }
        if (overtime < eightHours && overtime != 0) {
            additional_free.value = Math.max(0, overtime); <---- here
            nulladditionalnull_work_null.value = Math.min(0, 1);
        }

        if (overtime > eightHours) {
            additional_free.value = eightHours; <---- here
            nulladditionalnull_work_null.value = Math.max(0, overtime - eightHours);
        }
    }

我的問題:

如果此變量存在,程序是否可以檢查這些地方?

我是否很好地描述了問題?

1.如果沒有帶班級overtime輸入, overtime overtime不等於0 ,而是undefined

2.在你的代碼中,如果有多個相同類的輸入,最后一個將覆蓋前一個

3.在定義overtime的情況下,它將是TimeInput類型。 不是一個數字。 那么你如何將它作為一個數字進行比較?

無論如何,如果您想設置additional_free值僅當它不是undefined ,您可以這樣做:

additional_free && (additional_free.value = Math.min(0, 1));

暫無
暫無

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

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