Я использую следующую структуру для установки моих объектов / классов в JavaScript:
SelectUser = function(instanceID) {
this._instanceID = instanceID;
// Initialize
this.initialize();
}
SelectUser.prototype = {
initialize: function () {
...
},
update(userID) {
$('#hidden-field-' + this._instanceID).val(userID);
}
}
Это позволяет мне сказать:
$selectUser = new SelectUser(1);
За пределами SelectUser
объекта Iнеобходимо выполнять какой-то другой код (для каждого экземпляра SelectUser
) каждый раз, когда изменяется значение скрытого поля.Моей первой идеей было попытаться:
<script type="text/javascript">
$(document).ready(function () {
$selectUser = new SelectUser(1);
$selectUser2 = new SelectUser(2);
$('#hidden-field-1').change(function () {
alert('Something');
});
$('#hidden-field-2').change(function () {
alert('Something else');
});
});
</script>
Однако предупреждение не сработало.Моей следующей мыслью было добавить триггер события в мою функцию / метод обновления в объекте / классе SelectUser
.Затем я могу подписаться на это событие для каждого экземпляра и выполнить какой-то другой код.
Как мне это сделать?Я использую JavaScript в течение многих лет, но я довольно плохо знаком с jQuery и ООП в JavaScript.