問題描述
我有一個 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 獲取文本字段值的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!