Я знаю, что есть много подобных вопросов, но я попробовал их все безрезультатно ... так что спасибо за любую помощь.
ЧТО Я ПЫТАЮСЯ ДЕЛАТЬ: Я хочу передать параметры «один ко многим» в каждое событие «щелкнуть» флажков при регистрации (см. Ниже).
ЧТО РАБОТАЕТ: Я могу зарегистрировать событие БЕЗ любых параметров, и событие click возникает ... но мне нужно передать ссылку на содержащий объект сетки JavaScript (по другим причинам).
ЧТО НЕ ПОЛУЧАЕТСЯ Я пробовал различные формыof this.MutuallyExclusiveCheckBoxHandler = function (grid) {} "безрезультатно.
ОДНА ИДЕЯ: Я" думаю ", что карри может быть ответом, но я не совсем знаю, какчтобы сделать это достаточно хорошо (пока).
Эта область создает сетку и регистрирует флажки
<script type="text/javascript">
<!--
// CLASS
function CommitImporterGrid() {
// PROPERTIES
this.Toaster = new Toaster();
this.CheckBoxes = new Array();
// METHODS
this.RegisterMutuallyExclusiveCheckBox = function(clientId) {
var checkBox = $j('input:checkbox#' + clientId);
// HERE: "I need to pass a reference to the grid somehow"
$j(checkBox).click(this.MutuallyExclusiveCheckBoxHandler);
this.CheckBoxes.push(checkBox); // Append to array
}
this.MutuallyExclusiveCheckBoxHandler = function() {
// The checkbox events break when I try to add a parameter.
var myGrid = "I need to retreive the grid reference here somehow";
if (!$j(this).is(':checked')) { // They clicked on the same checkbox
this.checked = true;
return;
}
// ...other code...
}
}
// CLASS INSTANCE
var myGrid = new CommitImporterGrid();
// DOM EVENT: Document.Ready()
$j(document).ready(function() {
// DYNAMIC REGISTRATION
myGrid.RegisterMutuallyExclusiveCheckBox('chkCommitImporter01');
myGrid.RegisterMutuallyExclusiveCheckBox('chkCommitImporter02');
});
-->
</script>