选择选项显示输入块并输入计数并显示另一个输入值auto的值

时间:2018-03-14 06:10:58

标签: javascript html

我有一个HTML表单,用于我的面板中的付款状态。在此表单中,如果我选择付款状态提前付款然后显示我可以输入高级付费价格的另一个输入框。还有另一个输入框是可用的剩余价格,如果我输入预付款的值,剩余价格应该是使用java脚本显示剩余价值。如果我选择支付状态为Null然后显示剩余价格输入框中的总价格,如果我选择付费然后在剩余价格输入框中显示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;
}

2 个答案:

答案 0 :(得分:1)

尝试使用js parseInt()方法将其转换为整数

 function remaining()
 {

 a=parseInt(document.getElementById('Ftotal').value);


b = parseInt(document.getElementById('advancedPiad').value);
c = a - b;

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

答案 1 :(得分:1)

尝试

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

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