我有一个包含ajax的用户控件“SettingsControl”:CollapsiblePanelExtender,它又有一个GridView(gridView)和checkBoxes。在GridView之上,我们有两个LinkButtons“Select All”和“Clear All”。我写了启用全选并清除所有功能。选择全部应通过调用客户端.aspx文件中写入的以下JavaScript来选择网格中的所有行。
function SelectAll(chk)
{
//get reference of GridView control
var grid = document.getElementById('<%= SettingsControl1.FindControl("gridView").ClientID %>');
//variable to contain the cell of the grid
var cell;
if (grid.rows.length > 0)
{
//loop starts from 1. rows[0] points to the header.
for (i=1; i<grid.rows.length; i++)
{
//get the reference of first column
cell = grid.rows[i].cells[0];
//loop according to the number of childNodes in the cell
for (j=0; j<cell.childNodes.length; j++)
{
//if childNode type is CheckBox
if (cell.childNodes[j].type =="checkbox" && cell.childNodes[j].id.indexOf('chkSel')!=-1)
{
//assign the status of the Select All checkbox to the cell checkbox within the grid
cell.childNodes[j].checked = chk;
}
}
}
}
}
我无法在客户端访问usercontrol或用户控件的任何元素。我不知道如何实现这一功能。
.aspx页面将用户控件命名为:
<uc1:SettingsControl ID="SettingsControl1" runat="server" />
请帮助!!!!
答案 0 :(得分:0)
var grid = document.getElementById('SettingsControl1_gridView');
为我做了诀窍。
如果您在用户控件中执行脚本,则必须使用'SettingsControl1$gridView'
。
希望这可以帮助任何人......随时...; - )