我试图在复选框选择中获取整个datagrid行。 但我只能获得绑定到复选框而不是其他的id的值。我的代码如下:
function btnClick() {
var mytext
var gridView1Control = document.getElementById('<%= indivPrincipalGrid.ClientID %>');
$('#<%= btnGetData.ClientID %>').click(function(e) {
$('input:checkbox[id$=CheckSelect]:checked', gridView1Control).each(function(item, index) {
var id = $(this).next('input:hidden[id$=hdID]').val();
var nm = $(this).find('input:hidden[id$=hdID1]').val();
alert(id);
alert(nm);
});
return false;
});
我的网格如下:
<div>
<asp:Label ID="Label1" runat="server" Text="test"Font-Bold = "true"></asp:Label>
<asp:GridView ID="indivPrincipalGrid" runat="server"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField = "Name"/>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckSelect" runat="server" />
<asp:HiddenField ID="hdID" runat="server" Value='<%# Eval("ID")%>'/>
<asp:HiddenField ID="hdID1" runat="server" Value='<%# Eval("Name")%>'/>
</ItemTemplate></asp:TemplateField></Columns></asp:GridView>
<asp:Button ID="btnGetData" runat="server" Text="Button" OnClientClick = "btnClick()" />
</div>
答案 0 :(得分:0)
请参阅注释行,首先我找到父母,然后找到控件。希望这将完美地运作
function btnClick(){ var mytext var gridView1Control = document.getElementById('&lt;%= indivPrincipalGrid.ClientID%&gt;');
$('#<%= btnGetData.ClientID %>').click(function(e) {
$('input:checkbox[id$=CheckSelect]:checked', gridView1Control).each(function(item, index) {
var id = $(this).next('input:hidden[id$=hdID]').val();
//find the row which is tr in this case. and then find the hidden control
var parent=$(this).parent('tr');
var nm = parent.find('input:hidden[id$=hdID1]').val();
alert(id);
alert(nm);
});
return false;
});
答案 1 :(得分:0)
行.. 我发现应该填充隐藏的cntrl的函数没有正常工作,因此我在客户端脚本中得到了未定义。修复它解决了这个问题。谢谢大家的帮助。