我尝试了以下代码
$(document).ready(function () {
alert("test");
var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtRow"]');
alert($arrT.length);
var $txt = $arrT[0];
alert($txt);
});
</script>
长度始终为0,$ txt未定义。我是jquery的新手。请帮忙。我究竟做错了什么。这是我的gridview
<Columns>
<asp:TemplateField HeaderText="LineNo">
<ItemTemplate>
<asp:Label ID="lblLineno" runat="server"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="IsEmployee">
<ItemTemplate>
<asp:CheckBox ID="chckIsEmp" runat="server" /> </ItemTemplate> </asp:TemplateField>
<asp:TemplateField HeaderText="EmpNo">
<ItemTemplate>
<asp:TextBox ID="txtcostcenter" runat="server" ></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答案 0 :(得分:0)
以下是可能出现的问题。
在您的asp.net gridview控件中,通过以下实现,您将定位以id ='txtRow'结尾的输入控件。检查并确保呈现的输入控件的id以'txtRow'结尾。否则,您的警告语句将返回0。
var $ arrT = $('#&lt;%= gvView.ClientID%&gt;')。find('input:text [id $ =“txtRow”]'); 警报($ arrT.length);
如果上述原因失败,则不会选择元素,因此以下语句将返回'undefined'
var $ txt = $ arrT [0];
如果上述两个原因都已通过,并且您希望获取所选元素的值,则可以执行以下操作:
警报($($ ARRT).VAL());
这是一个可以帮助您清楚理解事物的示例。 (因为我不能在没有asp.net引擎的情况下运行asp.net webform代码,所以示例中的引用与html有关。)
答案 1 :(得分:0)
只需改变
('input:text[id$="txtRow"]' `TO` ('input:text[id$="txtcostcenter"]')
$(document).ready(function () {
var $arrT = $('#<%=gvView.ClientID %>').find('input:text[id$="txtcostcenter"]');
alert($arrT.length);
});