//idFragment is actually the server id of the control |
//we use it to distinguish between grid columns: different columns' |
//templates have checkboxes with different ID's |
function checkboxClicked(e, idFragment) |
{ |
var currentCheckBox = e.srcElement || e.target; |
|
var inputs = document.getElementsByTagName("input"); |
for (var i = 0; i < inputs.length; i++) |
{ |
var input = inputs[i]; |
//don't touch our checkbox |
if (input.id == currentCheckBox.id) |
continue; |
|
//don't touch checkboxes from other columns |
if (input.id.indexOf(idFragment) < 0) |
continue; |
|
//clear out the rest of the checkboxes |
if (input.type && input.type == "checkbox") |
{ |
input.checked = false; |
} |
} |
} |
|
//demonstrates finding a dropdown list using one of the techniques |
function SelectSecondDropDownItem() |
{ |
var serverID = "editDropDown"; |
var tagName = "select"; //dropdowns render as <select> elements |
|
//var dropDown = GetRegisteredServerElement(serverID); |
var dropDown = GetGridServerElement(serverID, tagName); |
dropDown.options[1].selected = true; |
} |
|
//global DOM ID registry. filled up by scripts rendered from templates. |
var registeredElements = []; |
//looks for an element that has been registered with the global array |
//requires that we emit a registration script block for each server control |
function GetRegisteredServerElement(serverID) |
{ |
var clientID = ""; |
for (var i = 0; i < registeredElements.length; i++) |
{ |
clientID = registeredElements[i]; |
if (clientID.indexOf(serverID) >= 0) |
break; |
} |
return $get(clientID); |
} |
|
//walks over all elements with the specified tag name inside our grid |
//does not require registration, but is a bit more complex |
function GetGridServerElement(serverID, tagName) |
{ |
if (!tagName) |
tagName = "*"; //* means all elements |
|
var grid = $get("<%=RadGrid1.ClientID %>"); |
var elements = grid.getElementsByTagName(tagName); |
for (var i = 0; i < elements.length; i++) |
{ |
var element = elements[i]; |
if (element.id.indexOf(serverID) >= 0) |
return element; |
} |
} |