如何在选择组合框时填充文本框值

时间:2013-03-04 11:31:14

标签: php javascript html

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

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

2 个答案:

答案 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>