Я создаю объект javavascript, который я называю rulesObject.Идея состоит в том, чтобы он был объектом javascript, содержащим все правила, которые мне нужно проверить, чтобы включить / отключить другие флажки, которые динамически генерируются из базы данных mysql в самом начале сценария.Сейчас я просто тестирую его с двумя правилами, которые, как я знаю, создают сценарий, который я ищу, поэтому вот как выглядит мой объект на данный момент:
rulesObject = {
chk533570 : ["533577", "503671", "503667", "604028", "503661"],
chk503928 : ["533577", "533578","503671", "503666", "533576", "503667", "324201", "503221", "604028", "503668", "533580", "503669", "533579", "533581", "503670"]
};
Теперь, что мне нужносделать это получить доступ к информации из этого объекта.Если я делаю простое предупреждение (rulesObject. Chk533570), оно работает ОТЛИЧНО - дает мне именно то, что мне нужно.Однако мне нужно получить доступ к определенному правилу на основе того, на что только что нажали, выполнив следующие действия.Так, например, если бы я щелкнул по флажку со значением «533570», он прошел бы через следующее:
$('input').click(function(){
if(this.checked) {
checkRules(this.value, 'checked');
} else {
checkRules(this.value, 'unchecked');
}
});
(Конечно, я использую jQuery там, но я использую его в Интернетеприложение, так что я не против идти вперед и назад.)
Теперь о моей функции checkRules.Это все еще очень просто, так как это находится на начальных этапах - я просто хочу предупредить значение того, что я только что выбрал.Опять же, если я сделаю оповещение (rulesObject. Chk533570), даже внутри функции, я получу правильный результат, но мне нужно получить доступ к тому, что я только что выбрал, поэтому я должен добавить буквы 'chk' в начало свойства объектадобавьте только что выбранное значение (которое в данном случае равно 533570).Вот способы, которыми я пытался это сделать:
function checkRules(justselected, state) {
rulename= 'chk' + justselected;
currentrules = rulesObject.rulename;
alert(rulename);
alert(currentrules);
}
Предупреждение 1: chk533570 Предупреждение 2: не определено
function checkRules(justselected, state) {
rulename= 'chk' + justselected;
alert(rulesObject.rulename);
}
Предупреждение: не определено
function checkRules(justselected, state) {
rulename= 'chk' + justselected;
alert(rulesObject + '.chk' + justselected);
}
Alert: [object Object] .chk533570
function checkRules(justselected, state) {
alert(rulesObject.chk533570);
}
Alert: 533577,503671,503667,604028,503661
Итак, любая идея, как правильно назвать это имя, чтобы я получил правильноеРезультаты?Я также пытался вообще не использовать 'chk', но объект javascript не любил полностью числовое свойство.