无法使用 jQuery 获取文本字段值 [英] Unable to get textfield value using jQuery

查看:30
本文介绍了无法使用 jQuery 获取文本字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 invoice.jsp 页面,我必须使用 jQuery 在文本框中计算一些值.

I have an invoice.jsp page where I have to calculate some value in the textbox using jQuery.

在我的发票中有一个数量文本框.如果用户输入数量,则计算出的价格应动态计算,即 (total_subPrice= unit_price * quantity) 并显示在另一个名为price"的文本框中.

In my invoice there is a quantity textbox. If the user enters the quantity then the calculated price should be calculated dynamically i.e (total_subPrice= unit_price * quantity) and shown in another textbox called "price".

现在我当前的输出是这样的:

Now my current output is like this:

我尝试了下面的代码来解决这个问题,但我的 jQuery 代码无法获取 unitprice 文本字段数据.我不知道为什么.请检查我下面的代码并为我提供解决方案.

I tried the code below to solve this issue, but my jQuery code is unable to get the unitprice textfield data. I don't know why. Please check my code below and suggest me a solution for it.

invoice.jsp

invoice.jsp

--------------------
--------------------
<script type="text/javascript">
  $(document).ready(function(){
    $(function() {
      $('input[name^="quantity"]').change(function() {
        var unitprice = $(this).siblings('input[name^="unitprice"]').val();
        alert("Unit price check="+unitprice);
        //problem in this line. Unable to get the unit price
        $(this).siblings('input[name^="price"]').val($(this).val() * unitprice);
      });
    });
  });
</script>
..............................
..............................
<!--
  Here I am iterating through a list from my dabase using strus2 framework tags.
  And defined my  input field values in struts2 tag eg. `<s:textfield.../>`
  is the same as `<input type="text".../>
-->
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
  <s:iterator  value="#session.BOK" status="userStatus">
    <tr style="height: 10px;">
      <td width="65%" align="left"><s:property value="bookTitile"/></td>
      <td width="10%" align="left">
        <s:textfield name="unitprice" value="%{price}" size="4"/>
      </td>
      <td width="10%" align="center">
        <s:textfield name="quantity" value="%{quantity}" size="2" />
      </td>
      <td width="15%" align="center">
        <s:textfield value="%{price}" name="" size="6"></s:textfield>
      </td>
    </tr>
  </s:iterator>
</table>
................................
................................

当我更改数量文本框中的任何值时,我的警报框会显示单价检查=未定义".请检查我的代码并提出任何解决方案.

When I change any value in my quantity textbox, my alert box is showing "Unit price check=undefined". Please check my code and suggest any solution.

更新:生成的 html

 inside loop {
  <tr style="height: 10px;">
    <td width="65%" align="left">book title display</td>
    <td width="10%" align="left">
      <input type="text" name="unitprice" value="%{price}" size="4"/>
    </td>
    <td width="10%" align="center">
      <input type="text" name="quantity" value="%{quantity}" size="2" />
    </td>
    <td width="15%" align="center">
      <input type="text" value="%{price}" name="" size="6"></s:textfield>
    </td>
  </tr>

推荐答案

我搞定了:http:///jsbin.com/efinak/2/edit

$(function() {
  $('input[name="quantity"]').change(function() {
      var unitprice = $(this).parents('tr').find('input[name="unitprice"]').val();
      $(this).parents('tr').find(' input[name="price"]').val($(this).val() * unitprice);

    });
});

这篇关于无法使用 jQuery 获取文本字段值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆