考虑一个包含两列的gridview行...每列有两个文本框...在第一个文本框中的Onkeypress我必须更新第二个文本框中的值.....是否可以使用jquery ....
修改 Grid http://img85.imageshack.us/img85/4044/gridp.jpg
我想展示Closing Advance based on Advance Detucted textbox keypress
ClosingAdvance=OpeningADvance-AdvanceDetucted
...
<table class="grid-view" id="ctl00_ContentPlaceHolder1_gridEmployee" style="border: 0px none rgb(244, 242, 242); border-collapse: collapse;" border="0" cellspacing="0" rules="all">
<tbody><tr class="gridHeaderimg">
<th scope="col" style="width: 10%;">
Name
</th><th scope="col" style="width: 10%;">
Salary Basis
</th><th scope="col" style="width: 12%;">
Salary Per Day
</th><th scope="col" style="width: 12%;">
No of Days Present
</th><th scope="col" style="width: 12%;">
Opening Advance
</th><th scope="col" style="width: 12%;">
Advance Detucted
</th><th scope="col" style="width: 12%;">
Closing Advance
</th><th scope="col" style="width: 10%;">
Salary Given
</th>
</tr><tr class="normal">
<td class="GridCs" style="width: 10%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_LblEmpName">Natarajan</span>
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl02$HiddenId" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_HiddenId" value="16" type="hidden">
</td><td class="GridCs" style="width: 10%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_LblSalary">Weekly</span>
</td><td class="GridCs" style="width: 12%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_LblSalaryPerDay">150.00</span>
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl02$TxtDaysPresent" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_TxtDaysPresent" class="text_box_height_14_width_50" type="text">
</td><td class="GridCs" style="width: 12%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_LblOpeningAdv">500.00</span>
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl02$TxtAdvanceDeducted" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$gridEmployee$ctl02$TxtAdvanceDeducted\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_TxtAdvanceDeducted" class="text_box_height_14_width_50" type="text">
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl02$TxtClosingAdvance" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_TxtClosingAdvance" class="text_box_height_14_width_50" type="text">
</td><td style="width: 10%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl02$TxtSalary" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl02_TxtSalary" class="text_box_height_14_width_50" type="text">
</td>
</tr><tr class="alternate">
<td class="GridCs" style="width: 10%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_LblEmpName">Pandian</span>
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl03$HiddenId" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_HiddenId" value="17" type="hidden">
</td><td class="GridCs" style="width: 10%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_LblSalary">Weekly</span>
</td><td class="GridCs" style="width: 12%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_LblSalaryPerDay">122.00</span>
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl03$TxtDaysPresent" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_TxtDaysPresent" class="text_box_height_14_width_50" type="text">
</td><td class="GridCs" style="width: 12%;" align="left">
<span id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_LblOpeningAdv">0.00</span>
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl03$TxtAdvanceDeducted" onchange="javascript:setTimeout('__doPostBack(\'ctl00$ContentPlaceHolder1$gridEmployee$ctl03$TxtAdvanceDeducted\',\'\')', 0)" onkeypress="if (WebForm_TextBoxKeyHandler(event) == false) return false;" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_TxtAdvanceDeducted" class="text_box_height_14_width_50" type="text">
</td><td style="width: 12%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl03$TxtClosingAdvance" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_TxtClosingAdvance" class="text_box_height_14_width_50" type="text">
</td><td style="width: 10%;" align="center">
<input name="ctl00$ContentPlaceHolder1$gridEmployee$ctl03$TxtSalary" id="ctl00_ContentPlaceHolder1_gridEmployee_ctl03_TxtSalary" class="text_box_height_14_width_50" type="text">
</td>
</tr>
</tbody></table>
答案 0 :(得分:1)
你仍然没有提供任何标记,所以我必须做出一些假设。假设1:“Advance Deducted”输入字段具有“adv-ded”类。假设2:td
包含一个开头推进,有一个“adv-open”类。假设3:“结束提前”输入具有“adv-close”类。
$('input.adv-ded').live('keypress', function(e) {
var val;
try {
val = parseFloat($(this).val());
if (val) {
var tr = $(this).closest('tr');
var open = parseFloat(tr.find('td.adv-open').text());
tr.find('input.adv-close').val(open - val);
}
} catch (e) {
}
});
像这样的东西。您可能必须为格式添加一些代码,但这应该传达一般的想法。
答案 1 :(得分:0)
我尝试使用Javascript并得到答案,
function totalAmount(e, obj) {
var tbl = document.getElementById('ctl00_ContentPlaceHolder1_gridEmployee');
var tblRows = tbl.rows.length;
var result = 0;
var str1;
if (obj != null) {
str1 = obj.id;
} else {
str1 = this.id;
}
var Splitstr = str1.split('_');
var lastChar = Splitstr[3].substring(3, Splitstr.length);
if (str1 == 'ctl00_ContentPlaceHolder1_gridEmployee_ctl' + lastChar + '_TxtAdvanceDeducted') {
var str2 = 'ctl00_ContentPlaceHolder1_gridEmployee_ctl' + lastChar + '_txtOpeningAdv';
var str3 = 'ctl00_ContentPlaceHolder1_gridEmployee_ctl' + lastChar + '_TxtClosingAdvance';
var txtDeduct = document.getElementById(str1).value;
var txtOpenAdv = document.getElementById(str2).value;
var txtCloAdv = document.getElementById(str3).value;
var totRes = txtOpenAdv - txtDeduct;
document.getElementById(str3).value = totRes.toFixed(2)
}
}