我正在开发一个asp.net应用程序,我可以将数据从SQL加载到aspx页面中的gridview。用户可以在gridview中编辑和保存值。 我的网格视图有itemtemplates,其中我有两个带文本框的列。我想要突出显示用户在gridview中编辑的不同颜色的所有单元格。
我能够为另一个aspx页面中的文本框做同样的事情,使用带有java脚本的gridview,代码如下:
<script type="text/javascript">
$(document).ready(function() {
$(':input').change(function() {
$(this).addClass("textchanged");
});
});
</script>
<asp:GridView runat="server" ID="gvnames" AutoGenerateColumns="False" CellPadding="4"
Font-Names="Georgia" ForeColor="Black" GridLines="Vertical" BackColor="White"
BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" DataKeyNames="Name"
DataSourceID="SqlDataSource1"
>
<RowStyle BackColor="#F7F7DE" />
<colums>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lblName" Visible='<%# !(bool) IsInEditMode %>' runat="server"
Text='<%# Eval("Name") %>' />
<asp:TextBox ID="txtName" Width="250px" Visible='<%# IsInEditMode %>' runat="server" Text='<%# Eval("Name") %>' />
</ItemTemplate>
</asp:TemplateField>
</colums>
<FooterStyle BackColor="#CCCC99" />
<PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
<SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
当我尝试为网格视图中的文本框实现相同的代码时,它不起作用。 是正确的方法还是有其他方法可以实现? 如果有人能指引我走上正确的道路,我将不胜感激。
答案 0 :(得分:2)
我认为你应该删除你在jquery中输入单词前面的:另外,如果这只发生在文本框中,那么你应该在jquery选择器中更具体,并将其更改为:
$('input[type=text]')
答案 1 :(得分:0)
在您的标记中,请更改
<colums><colums>
-tag to
<Columns></Columns>
如果jQuery正常运行,这应该会有所帮助