javascript - 选择选项显示输入 block 并输入计数并自动显示另一个输入值的值

标签 javascript html

我的面板中有一个用于显示付款状态的 HTML 表单。在此表单中,如果我选择付款状态预付款,则显示我可以输入预付款价格的另一个输入框。还有另一个可用的输入框,即剩余价格,如果我输入预付款的值,则剩余价格应该使用 java 脚本显示剩余值。如果我选择付款状态为空,则在剩余价格输入框中显示总价,如果我选择已付费,则在剩余价格输入框中显示 0...一切都运行良好...但只有一件事不起作用,那就是如果我输入预付款的值,剩余价格不显示。这是我的 HTML 代码

    <div class="col-md-6">
        <div class="form-group">
            <label>Final Total</label>
            <input type="text" value="100" name="total" id="Ftotal" class="form-control" >
        </div>
    </div>

    <div class="col-md-6">
        <div class="form-group">
            <label for="paymentstatus">Payment Status</label>
            <select class="form-control" name="paymentstatus" style="height: 40px;" onchange="yesnoCheck(this);">
                <option value=""> ---Select Payment Status---</option>
                <option>Advance</option>
                <option>Null</option>
                <option>Paid</option>
            </select>
        </div>
    </div>

    <div class="col-md-6" id="ifYes" style="display: none;">
        <div class="form-group">
            <label for="advancepaid">Advanced Paid</label>
            <input type="text" name="advancedPiad" id="advancedPiad" onKeyUp="remaining()"  class="form-control">
        </div>
    </div> 

    <div class="col-md-6">
        <div class="form-group">
            <label for="remainingammount">Remaining Ammount</label>
            <input type="text" name="remaining" id="remaining" class="form-control remaining" >
        </div>
    </div>

这是我的 JavaScript

function yesnoCheck(that) {
        if (that.value == "Advance") {

            document.getElementById("ifYes").style.display = "block";
        } else {
            document.getElementById("ifYes").style.display = "none";
        }
        if (that.value == "Null") {
           a = Number(document.getElementById('Ftotal').value);
          document.getElementById('remaining').value = a;
        }
         if (that.value == "Paid") {
           a = 0;
          document.getElementById('remaining').value = a;
        }

    }

function remaining()
{
    a = Number(document.getElementById('Ftotal').value);
    b = Number(document.getElementById('advancedPiad').value);
    c = a - b;

    document.getElementsByClassName("remaining").value = c;
}

最佳答案

尝试

document.getElementsByClassName("剩余")[0].value = c;

document.getElementsByClassName 为您提供具有指定类名的元素数组。在您的情况下,只需设置第一个元素的值。

关于javascript - 选择选项显示输入 block 并输入计数并自动显示另一个输入值的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49270819/

相关文章:

Javascript Change 和 Click 事件不会同时触发

html - CSS 的 transition 的 ease-in-out 好像不起作用

javascript - 是否可以在 CKEditor 中运行 html/css 或 JavaScript?

javascript - 我如何捕获服务器的响应

javascript - 如何在代码 View 之外时暂停 html5 视频(非静态定位)

html - 无法找到在原始 html 代码中检查元素中显示的内联样式

html - 为什么元素 <u> 根据 VS2008 被认为是过时的?

javascript - 将范围名称更新为指令

javascript - Office Js/Word Js 按索引选择文本范围并绑定(bind)点击事件

javascript - 我如何使用 jquery 获取特定文本