У меня есть форма, в которой много элементов скрыто/показано в зависимости от выбранного флажка. Я решил написать конструктор, чтобы избежать повторения. Он принимает два параметра. Флажок и элемент, который должен отображаться/скрываться.Использование функции «Конструктор и вызов»
function ShowHideConstructor(controlElement, actionElement){
this.x = controlElement;
this.y = actionElement;
x.change(function(){
var isChecked = x.is(":checked");
if (isChecked){
y.show();
} else {
y.hide();
}
});
}
И я хочу, чтобы стрелять по:
var ce = $('#c85_add_residence_address-0');
var ae = $(".address_of_residence");
ShowHideConstructor(ce,ae);
Это работает! Проблема beggins, когда я призываю его второй раз, как:
var ca = $('#c85_add_correspondence_address-0');
var ac = $('.address_for_correspondence');
ShowHideConstructor(ca,ac);
Когда у меня есть два из них ломается. Зачем ?
Спасибо! Теперь, когда я добавляю «новый», я получил «Uncaught ReferenceError: x не определен» в x.change (function() {..} –
Используйте 'this.x.change ...' вместо просто' x.change. ..'. –
Используется (this.x.change) и (this.x.is (": checked");) теперь он меня отключает (не может вызвать метод «is» неопределенного на this.x.is («: проверено ");) –