0

我有一个包含一个组合框和三个文本框的表单。这三个文本框用于计算目的。第一个文本框是金额,第二个是收到的,最后一个是只读的,它显示余额,组合具有值 - 完整、部分和无。如果用户选择完整,则收到的文本框应变为只读,并且在金额文本框中输入的金额应出现在收到的文本框中。如果用户选择部分,那么文本框应该可供用户输入金额。如果用户选择无,则余额文本框应填充金额文本框中输入的值。

<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/

4

2 回答 2

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
    }

}
于 2013-03-04T12:31:08.447 回答
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>
于 2013-03-04T12:38:52.213 回答