我有一个包含一个组合框和三个文本框的表单。这三个文本框用于计算目的。第一个文本框是金额,第二个是收到的,最后一个是只读的,显示余额,组合具有值 - 完整,部分和无。 如果用户选择已满,则接收的文本框应变为只读,并且在金额文本框中输入的金额应该出现在接收的文本框中。如果用户选择部件,则文本框应该可供用户输入金额。如果用户选择无,则应使用金额文本框中输入的值填充余额文本框。
<select id="pay" name="pay" tabindex="12">
<option value=""></option>
<option value="1">Full</option>
<option value="2">Part</option>
<option value="3">None</option>
</select>
<input type="text" id="amt" name="amt" value=""
size ="8" onblur="calculateText()"
style="background-color:transparent; color:blue; text-align:right"
tabindex="17"/>
<input type="text" id="resc" name="resc" value=""
disabled="disabled" size ="8" onblur="calculateText()"
tabindex="18"/>
<input type="text" id="bal" name="bal"
readonly="readonly" value="" size ="8"
onblur="calculateText()" tabindex="19"/>
添加了jsFiddle:http://jsfiddle.net/MackieeE/fjXzY/1/
答案 0 :(得分:0)
请在jsfiddle的javascript框架中编写以下代码,并检查是否是你想要的..
function UpdatePay( n ) {
if(n.options[n.selectedIndex].value==2){
document.getElementById('amt').style.display='none';
document.getElementById('resc').disabled = false;
}
if(document.getElementById('pay').value==3){
document.getElementById('bal').value=document.getElementById('amt').value
document.getElementById('resc').value=document.getElementById('amt').value
}
if(document.getElementById('pay').value==2){
document.getElementById('bal').value=document.getElementById('resc').value
}
} document.getElementById('resc').value=document.getElementById('amt').value
}
if(document.getElementById('pay').value==2){
document.getElementById('bal').value=document.getElementById('resc').value
}
}
答案 1 :(得分:0)
这是让你入门的东西。它或多或少地提到了你所问的,有一些可用性问题,因为你没有说过在每种情况下做什么,只有一组有限的案例。我会留给你让它按你的意愿工作。
<script>
function calculateText(el) {
var form = el.form;
var idx = form.pay.selectedIndex;
if (idx <= 0) {
form.reset();
return;
}
if (form.pay.value == 1) {
form.resc.disabled = true;
form.resc.value = form.amt.value;
form.bal.value = 0;
} else if (form.pay.value == 2) {
form.resc.disabled = false;
form.bal.value = form.amt.value - form.resc.value;
} else if (form.pay.value == 3) {
form.resc.disabled = true;
form.resc.value = 0;
form.bal.value = form.amt.value;
}
}
</script>
<form>
<select name="pay" onchange="calculateText(this);">
<option selected>Please select an option</option>
<option value="1">Full
<option value="2">Part
<option value="3">None
</select><br>
Amount: <input name="amt" onblur="calculateText(this)"><br>
Received: <input name="resc" disabled onblur="calculateText(this)"><br>
Balance: <input name="bal" readonly><br>
<input type="reset">
</form>