如何从一个文本框计算值并使用jquery将其设置为另一个文本框

时间:2012-11-18 12:58:34

标签: javascript jquery ajax struts2

  

可能重复:
  Unable to get textfield value using jQuery

我有一张发票,我在列表中迭代值。我有一个名为subtotal的文本框,此文本框包含一些数字。另一个名为discountamt的文本框,在此文本框用户中将输入折扣数量,该值将被设置为discountamt percentage subtotal .i.e(discountamt % subtotal),例如。小计的10%。
并且计算的金额应从小计减少,并应在名为overalltotal的其他文本框中设置。

请看我的下图,显示我的输出应该是......  enter image description here

以下是我的代码,我正在尝试实现此

 <tr>
           <td height="1%" valign="top" width="100%"> 
                  <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
                               <tr style="height: 10px;"> 
                                   <td width="100%" align="right" colspan="5" style="font-weight: b"> 
                                       Sub Total. <s:textfield name="subtotal" value=" "  size="5"/> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                  </td>
                               </tr> 
                   </table>  
         </td>
      </tr> 
         <tr>
           <td height="1%" valign="top" width="100%"> 
                  <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
                               <tr style="height: 10px;"> 
                                   <td width="100%" align="right" colspan="5"> 
                                          Discount:<sj:textfield name="discountamt"  size="1"  placeholder=" %"/>  
                                  </td>
                               </tr> 
                   </table>  
         </td>
      </tr> 

      <tr>
           <td height="1%" valign="top" width="100%"> 
                  <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
                               <tr style="height: 10px;"> 
                                   <td width="100%" align="right" colspan="5" style="font-weight: bolder;">
                                   <s:set var="total" value="%{0}" />   
                                       Over All Total Amount: <s:textfield name="overalltotal  size="4"></s:textfield>  
                                  </td>
                               </tr> 
                   </table>  
         </td>
      </tr>

更新正确答案:

       $('input[name="discountamt"]').keyup(function() 
                { 
                     var disamount=$('[name=discountamt]').val();
                     var linetotal = $('[name=subtotal]').val();  
                     var priceafterdisc=linetotal-(((disamount)/100)*linetotal);   
                    $('[name=overalltotal]').val(priceafterdisc); 
               }); 

请帮我解决这个问题...

2 个答案:

答案 0 :(得分:3)

试试这个:

HTML:

<input name="box1" id="box1" type="text">
<input name="box2" id="box2" type="text">

jQuery的:

$('#box2').val($('#box1').val());

答案 1 :(得分:0)

尝试使用name='whatever'

更改元素id='whatever'

例如:<s:textfield name="overalltotal" size="4"></s:textfield>

更改为:<s:textfield id="overalltotal" size="4"></s:textfield>