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

问题描述:

我有一个txtSubTotal文本框,一个discount下拉菜单和一个txtGrossTotal文本框。当单击ADD按钮时,txtSubTotal文本框正在更新。当选择下拉值时,txtGrossTotal文本框正在更新。但是,在更新txtSubTotal文本框时,应同时更新txtGrossTotal文本框的默认下拉值,即“0”。这里,txtGrossTotal应该是txtSubTotal的值。文本框不会更改为javascript中的默认下拉值

下面是我的代码,它不会显示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

请阅读[这(如何问)(http://*.com/help/如何提问)和[this(mcve)](http://*.com/help/mcve),因为这些将帮助您从社区获得更多更好的答案。编辑你的问题,并显示你何时/如何调用'discountedGrossTotal'函数。很可能您没有将其设置为字段 – Bonatti

+1

的选择事件。当下拉列表值更改时,您似乎正在调用discountedGrossTotal()。即使您向txtSubTotal输入值时调用此方法 – Rajashekhar

+0

@Bonatti我添加了代码。 – EKBG

基本上你想改变“打折”下拉值以及“分类汇总”文本框的值采取同样的行动。所以,你必须在两者上调用相同的函数。

您可以通过下面做在你的代码修改实现这一点:

  1. 从“discountedGrossTotal”功能删除参数
  2. 添加一个新的变量自己的函数中像dropdownVal =的document.getElementById(“打折” ).value的
  3. 请拨打“txtSubTotal”文本框的变化情况相同的功能现在

,这个函数会被调用。如果这些(textbo x或下拉菜单)的值会发生变化,因此“总合计”值将相应更新。

请试试这个,它应该为你工作...

 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); 
 
     } 
 
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>

+0

好吧,无聊的编辑你的所有帖子,希望你现在就得到jist。请正确格式化您的答案。 – Liam