文本框不会更改为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>
答
基本上你想改变“打折”下拉值以及“分类汇总”文本框的值采取同样的行动。所以,你必须在两者上调用相同的函数。
您可以通过下面做在你的代码修改实现这一点:
- 从“discountedGrossTotal”功能删除参数
- 添加一个新的变量自己的函数中像dropdownVal =的document.getElementById(“打折” ).value的
- 请拨打“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
请阅读[这(如何问)(http://*.com/help/如何提问)和[this(mcve)](http://*.com/help/mcve),因为这些将帮助您从社区获得更多更好的答案。编辑你的问题,并显示你何时/如何调用'discountedGrossTotal'函数。很可能您没有将其设置为字段 – Bonatti
的选择事件。当下拉列表值更改时,您似乎正在调用discountedGrossTotal()。即使您向txtSubTotal输入值时调用此方法 – Rajashekhar
@Bonatti我添加了代码。 – EKBG