javascript中默认下拉值的文本框不会更改

时间:2016-12-05 11:03:49

标签: javascript html

我有一个txtSubTotal文本框,一个discount下拉列表和一个txtGrossTotal文本框。单击txtSubTotal按钮时,ADD文本框正在更新。选择下拉值时,txtGrossTotal文本框正在更新。但是,在更新txtSubTotal文本框时,应同时更新txtGrossTotal文本框以获取默认下拉值,即“0”。在此,txtGrossTotal应为txtSubTotal的值。

以下是我的代码,当下拉列表显示默认值时,它不会显示txtGrossTotal。 (但是,在选择其他选项后,再次选择默认值时,它会更新txtGrossTotal。)

function discountedGrossTotal(dropdownVal){
var discountOption = document.getElementById("discount"),
subTotal = document.getElementById("txtSubTotal"),
grossTotal = document.getElementById("txtGrossTotal").value;

grossTotal.value = subTotal.value - (subTotal.value * dropdownVal/100);}

discount下拉

<select class="select" id="discount" name="discount" onchange="discountedGrossTotal(this.value);">
<option selected>0</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
</select>

txtGrossTotal HTML

 <div id="gross_total_div">
 <input name="txtGrossTotal" type="text" id="txtGrossTotal" size="15" readonly/>
 </div>

enter image description here

2 个答案:

答案 0 :(得分:0)

基本上你想通过更改&#34;折扣&#34;来采取相同的行动。下拉值以及&#34;小计&#34;文本框值。因此,您必须在两者上调用相同的函数。

您可以通过在代码中执行以下修改来实现此目的:

  1. 从&#34; discountedGrossTotal&#34;中删除参数功能
  2. 在你的函数中添加一个新变量,如dropdownVal = document.getElementById(&#34; discount&#34;)。value
  3. 在&#34; txtSubTotal&#34;的更改事件上调用相同的函数文本框
  4. 现在,如果这些(文本框或下拉列表)值中的任何一个被更改,那么将调用此函数,从而调用&#34; Gross Total&#34;价值将相应更新。

答案 1 :(得分:0)

请试试这个,它应该适合你...

&#13;
&#13;
        function discountedGrossTotal() {
            var dropdownVal= document.getElementById("discount").options[document.getElementById("discount").selectedIndex].innerHTML;
            subTotal = document.getElementById("txtSubTotal");
            grossTotal = document.getElementById("txtGrossTotal").value;
            document.getElementById("txtGrossTotal").value = subTotal.value - (subTotal.value * dropdownVal / 100);
        }
 
&#13;
  sub total:   <input type="text" id="txtSubTotal" onblur="discountedGrossTotal()" />
    <br />

    discount:  <select class="select" id="discount" name="discount" onchange="discountedGrossTotal();">
        <option selected>0</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
    </select>
    <br />
    <div id="gross_total_div">
        <input name="txtGrossTotal" type="text" id="txtGrossTotal" size="15" readonly />
    </div>
&#13;
&#13;
&#13;