ASPX页面如下:
<table id="Table1" cellspacing="0" cellpadding="0" width="100%" border="0">
<tr>
<td align="center" style="height: 14px">
<asp:Label ID="lblotherfee" runat="server"></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:DataGrid ID="dgdOtherFee" runat="server" AutoGenerateColumns="False" Width="144px">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="OTHFEEDESC" HeaderText="其他费用">
<HeaderStyle CssClass="dgheader"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="费率">
<HeaderStyle CssClass="dgheader"></HeaderStyle>
<ItemTemplate>
<asp:TextBox ID="dgirate" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.rate") %>'
Width="40px">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="费用">
<HeaderStyle CssClass="dgheader"></HeaderStyle>
<ItemTemplate>
<asp:TextBox ID="dgifee" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.fee") %>'
Width="40px">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn Visible="False" DataField="OTHFEEID" ReadOnly="True"></asp:BoundColumn>
</Columns>
</asp:DataGrid>
</td>
</tr>
</table>
页面效果如下:
页面中的js代码如下(采用prototype.js编写):
initOtherFeeGrid("dgdOtherFee");
function initOtherFeeGrid(dgOtherFeeid) {
dgOtherFee = $(dgOtherFeeid);
var row;
for (var i = 1; i < dgOtherFee.rows.length; i++) {
row = dgOtherFee.rows[i];
row.id = "ofee" + i;
bindSingleRowEvent2(row.id);
}
}
绑定语句如下:
function bindSingleRowEvent2(rowid) {
var txtbox = $(rowid).cells[1].childNodes[0];
txtbox.onblur = calAWBOtherFee;
//alert(txtbox.onblur)//undefined
var txtbox1 = $(rowid).cells[2].childNodes[0];
txtbox1.readOnly = true;
txtbox1.className = "readonly";
txtbox.onkeydown = keydownHandler3;
}
为什么不能绑定?希望大家一起来探讨一下