分配" 0"的值到所有空输入元素

时间:2017-09-29 19:58:28

标签: javascript jquery

我在DOM中有三个输入元素:

while

在任何输入上的keyup事件中,我需要为所有空输入分配值0,但仅保留具有现有值的字段。到目前为止,这是我的JQuery:

<input type="input" id="triangle-base" />
<input type="input" id="triangle-height" />
<input type="input" id="triangle-area" />

运行时控制台显示此错误:

        const baseInput = $('#triangle-base');
        const heightInput = $('#triangle-height');
        const areaInput = $('#triangle-area');

        function ifEmpty () {
            $("input").each(function(i) {
                if (i.val("")){
                    $(this).val("0");
                }
            });
        }

        baseInput.keyup(function() {
            ifEmpty();
    });
        heightInput.keyup(function() {
            ifEmpty();
    });
        areaInput.keyup(function() {
            ifEmpty();
    });

我并不完全确定我是在正确的轨道上。谢谢大家的帮助!

2 个答案:

答案 0 :(得分:0)

答案几乎在下面一行:i.val应为$(this).val

i是集合中当前项的索引。

答案 1 :(得分:0)

jQuery module-info.java回调函数为$.each。该项是DOM节点,而不是jQuery对象。此外,您的代码逻辑不正确。 (index, item)将输入值设置为$(item).val("")(null)。请参阅以下修复: